项目中遇到字符集乱码

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一种字符编码

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容