字符串它是一个数据类型,除此之外,它还是一个编码的问题。
因为计算机它只能处理数字,要想处理文本,就必须得把文本转换成数字,这样计算机才可以正常处理。
大家都知道Ascii码,这个是外国人发明的,所以最早只有127的个字符被编码,如数字、字母以及一些特殊符号啥的。如果要处理中文,一个字节肯定是不够的,至少得要两个,有一些甚至要4个字节。 而且还不能和Ascii码冲突,所以中国人也制作了个编码叫GB2312。 但是,,,,,全国有那么多种的语言,如果每个国家都自己的编码的话,那如果一遍文章里面包含了各国语言,这样岂不就崩溃了吗? 这也就是有一些同学看见各种乱码的直接原因。所以,为了统一,Unicode也就出来了。乱码也就不会出现了。
但是,,, 比如讲 Ascii编码一个A,它的十进制是65,二进制是01000001,
如果用Unicode,它的二进制就是00000000 01000001,虽然结果都是一样的,
但是明显后者占得内存要大得多,多一倍不必要的存储空间。
所以。。。。。 为了减除这个缺点,UTF-8编码就出来了。
UTF-8的原理: 把一个Unicode字符根据不同大小编码成1-6个字符,常用的英文字母被编成一个字节,汉字通常是3个字节,特殊的4-6个。 这样就明显降低了很多很多的资源。