乱码

ASCII编码:美国规定了128个字符的二进制表示法,即ASCII(美国信息互换标准代码)。

数字32~126表示的字符都是可打印字符。

ASCII:32~126

0~31和127表示的这些字符都是不可打印字符,它们一般用于控制目的。

ASCII:0~31,127

美国的编码不够其他国家使用,其他国家陆续发明了各种各样的编码方式。在西欧国家中流行的是ISO 8859-1和Windows-1252,在中国是GB2312,GBK,GB18030和Big5。

美国和西欧都是用一个字节(8位)就够了,但中文是两个字节(16位)

Ascii码是基础,一个字节表示,最高位设为0,其他7位表示128个字符。其他编码都是兼容Ascii的,最高位使用1来进行区分。

西欧主要使用Windows-1252,使用一个字节,增加了额外128个字符。

中文大陆地区的三个主要编码GB2312,GBK,GB18030,有时间先后关系,表示的字符数越来越多,且后面的兼容前面的,GB2312和GBK都是用两个字节表示,而GB18030则使用两个或四个字节表示。

最高位用1的编码,除了GB2312/GBK/GB18030外,都是不兼容的。比如Windows-1252和GBK就不兼容。

Unicode:将世界上所有的字符统一编码,给世界上所有字符都分配了一个唯一的数字编号。

其中UTF-8使用1~4个字节表示,兼容ASCII编码。英文字符使用1个字节,中文字符大多使用3个字节。

如何恢复乱码?

答:先将A编码的字符映射为二进制,再通过二进制映射B编码的字符。

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2021 Silver Shaded
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信