A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

先GBK编  UTF-8解 UTF-8编 GBK解 出错  换个ISO那个 就不出错  视频里没听明白。

1 个回复

倒序浏览
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编码有硬性的规定,不符合规定他就会给你乱解。

评分

参与人数 1技术分 +2 收起 理由
admin + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马