.
最早计算机在设计时采用8个比特bit作为一个字节byte。所以一个字节最大的整数就是255。0~255被用来表示大小写英文字母,数字和一些符号,这些编码成为ASCII编码。例如大写字母A的编码就是25,小写z的编码就是122.
Unicode为了解决各个国家的语言的问题,统一了所有文字的编码。Unicode通常用两个字节表示一个字符,原有的英文编码从单个字节变成双字节,只需要把高字节位全部填为0就可以。
在文字处理方面,统一码为每一个字符而非字形定义唯一的代码(即一个整数)。换句话说,统一码以一种抽象的方式(即数字)来处理字符,并将视觉上的演绎工作(例如字体大小、外观形状、字体形态、文体等)留给其他软件来处理,例如网页浏览器或是文字处理器。
Unicode将世界上所有的符号都纳入其中,给每个符号都赋予一个独一无二的编码,那么乱码的问题机会消失。
Unicode的问题
Unicode是一个字符集,他规定了二进制代码,去没有规定二进制代码该如何存储。有些字符可能需要需要4个字节存储,但是给本来一个字节就可以存储的ASCII编码现在换成Unicode编码文本大小就会四倍的增加,这是无法接受的。
所以出现了多种正对于Unicode存储的方案,例如UTF-8