http://www.techug.com/post/character-encoding.html
https://www.cnblogs.com/defias/p/3436517.html
https://blog.csdn.net/qq_29028175/article/details/52959551
区分字库表、编码字符集、字符编码
可以用多对多表的思路来理解 字库表、编码字符集、字符编码 三者的关系,字符编码通过操作二进制字节码,按照特殊规则将字节码对应上编码字符集中的字符序号,而编码字符集中的字符序号通常为字符在字库表中的序号。
编码与解码
编码是将字符串按照编码字符集,将每一个字符按照字符编码规则,转译成二进制字节码。
解码是按照字符编码,将二进制字节码转译成十六进制,对照编码字符集中的序号转译为字符。
根据字符编码的不同,转译成的字节码也不同,例如同一份文件,使用同一种编码字符集Unicode,但是字符编码utf8与utf16转译出来不同。
原因:utf8转译期间会根据字符的字节长度在字节头做标记,这个标记占用了一定位数,所以如果通过其他字符编码来解码,会将标记误认为具体数据而产生乱码。
注意:编码字符集Unicode,有UTF-8、UTF-16、UTF-32等多种字符编码
编码字符集ASCII,本身就是编码字符集,又是字符编码
编码字符集CB2312,只有EUC-CN一种字符编码
网友评论