String+char+byte+ascii+unicode

众所周知,计算机底层的数据都是0和1.

那么我们在输入数字的时候,要交给计算机处理,首先要转化成计算机能识别的0和1的形式。那么文字是怎么样转化成0和1的呢?

通过字符集。常用的字符集是ASCII,每个字母每个符号都对应一个8位(为表示一些特殊的字符,将原来的7位扩展成8位)的二进制数,存到计算机中时对照字符集将一堆二进制数存进去。取出显示的时候,再对照字符集将二进制转化成字符集中定义的语言。

可以ASCII字符集的二进制值只有8位数字,也就是说只有256个字符。这让成千上万的汉字情何以堪,怎么在计算机界混?于是,又定义了16位二进制字符集的unicode,这样就可以对应6.5万多个字符了。剩下的空间反正也是闲着,就把头256个空间还是给英文字符吧,这样就和ASCII兼容。

所以,这也就明白了为什么byte不能定义出一个汉字,因为汉字不在byte表示的字符集的范围内。char因为是16位,既可以表示一个字母,又可以表示一个汉字。byte本身就限制了它定义的变量的转化的字符集范围。

那么String与他们有什么关系?请看下回分解。

                            ——随便转载,也不用注明出处。

转载于:https://www.cnblogs.com/xu-thinking/p/3309642.html

猜你喜欢

转载自blog.csdn.net/weixin_34238633/article/details/93374795