零基础Python到全栈-联通不行的原因

微软本着顾客就是上帝的原则,就把卖给中国人的有系统默认使用GBK编码,卖给韩国人的系统默认使用EUC-KR编码,其他国家也是如此。

但是为了避免广大消费者误会卖给我们的系统功能有差异,微软就把统一默认编码都显示成ANSI。

在我们的电脑里面,ANSI也就是我们的GBK系列的编码,当我们用记事本另存的时候在下面就可以看到。


【资料图】

关于这个记事本,有个很注明的奇怪现象,当你在windows的记事本里新建一个文件,输入联通这两个字后,保存,关闭。

然后再次打开,你会发现这两个字变成了乱码。

有人说这就是联通之所以干不过移动的原因,其实这是因为GBK编码与UTF-8编码产生了编码冲撞的原因。

UnicodeUTF-80000 - 007F0XXXXXXX0080 - 07FF110XXXXX 10XXXXXX0800 - FFFF1110XXXX 10XXXXXX 10XXXXXX

上面这一段就是从Unicode到UTF-8的转换规则。当然是按十六进制分的。

Unicode编码中从0000到007F,对应UTF-8中的二进制编码,就是以0开头,占用一个字节。

Unicode编码中从0080到07FF这段编码对应的是UTF-8中的110开头的一个字节,10开头的一个字节,两个字节

0800到FFFF这段编码,对应的是UTF-8中的1110开头的1个字节,10开头的一个字节,还有一个10开头的一个字节,这里要用三个字节。

列入仙这个字,Unicode编码是4ED9,4ED9在0800和FFFF之间,所以需要这个三个字节的模板。

4ED9转换成二进制是0100 1110 1101 1001 ,把这个比特流按三字节模板拆,就变成了这样,依次替换模板中的X,得到1110-0100 10-111011 10-011001。

再转成16进制,就变成了E4BB99。

仙---->4ED9---->1110-0100 10-111011 10-011001 1110-0100 10-111011 10-011001--->E4BB99

这其实就是UTF-8的编码,而当你新建一个文本文件时,记事本编码默认是ANSI,前面我们说过ANSI在我们电脑里其实就是GB系列编码方式。

在这种编码下,联通的内码是:C1AA CDA8.这也是16进制的。

前面我们学进制转换的时候知道,每四位二进制可以转换成1位十六进制,也就是说每两位十六进制就是一个字节。

C1就是第一个字节,转成二进制就是110 0001。

AA是第二个字节,转成二进制就是1010 1010。

CD是第三个字节,转成二进制就是1100 1101。

A8是第四个字节,转成二进制是1010 1000。

C1--->1100 0001AA--->1010 1010 CD--->1100 1101A8--->1010 1000

我们来看第三四个字节的开头部分,都是110和10,正好与UTF-8规则里的两字节模板是一致的。

于是再次打开这个文件的时候,及时本会自动识别编码方式,它就误认为这是一个UTF-8编码的文件,会把第一个字节的110和第二个字节的10去掉。于是就得到了00001 101010。

再把各位对齐,补上前面的0,就得到了0000 0000 0110 1010,这个二进制就转成十六进制就变成了006A。

Unicode的006A也就是小写的字母j,而之后的两个字节用UTF-8解码之后是0368,这个字符什么也不是。

0000 0000 0110 1010--->006A--->j0000 0011 0110 1000--->0368--->不存在

这就是联通两个字的文件没有办法在记事本里正常显示的原因。如果你在联通后面输入几个字,其他的字的编码不见得有恰好是110和10开始的字节,这样再次打开时记事本就不会坚持这是一个UTF-8编码的文件。

而会用ANSI的方式解读,这是乱码就不会出现了。

关键词:

热门玩具潜藏着产品警示不足、化学物质参数不详等雷区 化学实验能“玩”?

彩虹喷泉、火山喷发、浓烟瀑布……为了吸引家长购买,部分商家将化学实验搬到了孩子们的玩耍场景中。近日,北京商报记者调查发现,电商平台

北京商报 2022-07-08

做好降速准备618电商大促家电业不容乐观 原材料供应高位运行推高成本

一季度家电行情双线下滑、疫情面扩大消费受到影响、工商业生产和供应链受到影响,这三个因素或对618电商大促产生重要的影响。今年3月以来,

蓝科技 2022-05-20

4月增收5月减产 产能释放时间拉长巨头们撑不住了吗?

深陷亏损中的生猪行业,笑到最后的选手或不仅有家底,更要会审时度势。4月生猪价格上涨后,头部上市猪企的销售收入随即上涨。不过,不少上

中国商报网 2022-05-20

人民币对美元即期汇率当日收盘报6.7472 较上一交易日涨495个基点

5月17日,人民币对美元汇率迎来久违的大涨。人民币对美元即期汇率当日收盘报6 7472,较上一交易日涨495个基点,创出了一年多的最大升值幅度

深圳商报 2022-05-20

疫情倒逼餐饮业寻求新商机 开启花式自救

国家统计局近日发布的数据显示,今年1—4月餐饮收入13262亿元,同比下降5 1%;其中4月餐饮收入2609亿元,同比下降22 7%。值得关注的是,近几

中国商报网 2022-05-20

广西粮食生产进度均快于去年同期 实现良好开局

今年以来,广西各级农业农村部门提早谋划、主动作为,积极抓好农业生产。据农情统计,全区春种粮食作物面积已超过全年任务的一半,超额完成

农民日报 2022-05-20

“宠物牵引用具第一股”IPO过会 发行后总股本不超过13635万股

源飞宠物IPO近日过会,拟登陆深交所主板,成为宠物牵引用具第一股。 资料显示,源飞宠物主营宠物用品和宠物零食的研发、生产和销售,主要

深圳商报 2022-05-20

热门玩具潜藏着产品警示不足、化学物质参数不详等雷区 化学实验能“玩”?

彩虹喷泉、火山喷发、浓烟瀑布……为了吸引家长购买,部分商家将化学实验搬到了孩子们的玩耍场景中。近日,北京商报记者调查发现,电商平台

北京商报 2022-07-08

做好降速准备618电商大促家电业不容乐观 原材料供应高位运行推高成本

一季度家电行情双线下滑、疫情面扩大消费受到影响、工商业生产和供应链受到影响,这三个因素或对618电商大促产生重要的影响。今年3月以来,

蓝科技 2022-05-20

4月增收5月减产 产能释放时间拉长巨头们撑不住了吗?

深陷亏损中的生猪行业,笑到最后的选手或不仅有家底,更要会审时度势。4月生猪价格上涨后,头部上市猪企的销售收入随即上涨。不过,不少上

中国商报网 2022-05-20

人民币对美元即期汇率当日收盘报6.7472 较上一交易日涨495个基点

5月17日,人民币对美元汇率迎来久违的大涨。人民币对美元即期汇率当日收盘报6 7472,较上一交易日涨495个基点,创出了一年多的最大升值幅度

深圳商报 2022-05-20

疫情倒逼餐饮业寻求新商机 开启花式自救

国家统计局近日发布的数据显示,今年1—4月餐饮收入13262亿元,同比下降5 1%;其中4月餐饮收入2609亿元,同比下降22 7%。值得关注的是,近几

中国商报网 2022-05-20

广西粮食生产进度均快于去年同期 实现良好开局

今年以来,广西各级农业农村部门提早谋划、主动作为,积极抓好农业生产。据农情统计,全区春种粮食作物面积已超过全年任务的一半,超额完成

农民日报 2022-05-20

“宠物牵引用具第一股”IPO过会 发行后总股本不超过13635万股

源飞宠物IPO近日过会,拟登陆深交所主板,成为宠物牵引用具第一股。 资料显示,源飞宠物主营宠物用品和宠物零食的研发、生产和销售,主要

深圳商报 2022-05-20
x 广告
x 广告
x 广告

Copyright   2015-2022 西方仓储网版权所有  备案号:沪ICP备2020036824号-7   联系邮箱:5 626 629 @qq.com