GBK 编码后占两字接, ISO 1字节 U8不定字节 1-3.
GBK编完后 ISO解, 因为ISO占1字节 ,GBK编完后用ISO解肯定能解出来,而且正确,但解出来的字符是欧洲的字符,因为我们的操作系统默认编码集是GBK,只是别中文和英文,欧洲文字显示不了,所以在控制台上我们看到一堆问号,因为解码是正确的 ,所以在用ISO编码肯定没问题,编出来后用GBK再解一次出正确结果。
U8不一样,因为他可以占用1-3个字节,所以他有一套编码规则,什么3个字节最开头1110 第二个110 第三个10 貌似是,具体我也忘了,而我们用GBK编码后基本不会符合U8的编码规则,因为不符合U8的编码规则,所以U8会去它的未知字符区域去查,所有的未知字符都被编码为某个字符 这个字符编码是-17、-65、-67,这样一来,原始的编码也就破坏了,所以U8解不出来。根本的原因是U8编码有硬性的规定,不符合规定他就会给你乱解。
|