Bootstrap

python编码问题

 

编码:真实字符 -->二进制串
解码:二进制串 -->真实字符

 

常见的编码方式:

 

ASCII:1967 年第一次发布。ASCII码占8位,可以表示256个不同的字符。共收录了 128 个字符,包括控制码、空格、标点、数字、大小写字母,这样计算机就可以用不同字节来存储英语的文字了。

 

GB2312:ASCII码的中文扩展。规定:一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE,这样就可以组合出大约7000多个简体汉字。在这些编码里,我们还把数学符号、罗马希腊的字母、日文的假名们都编进去了,连在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的”全角”字符,而原来在127号以下的那些就叫”半角”字符了。 
 

GBK:包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。用上了GB2312 没有用到的码位,并且规定只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不是扩展字符集里的内容。

 

GB18030:在GBK的基础上,增加了几千个新的少数民族的字。

 

GB2312、GBK、GB18030统称为双字节字符集DBCS,Double Byte Charecter Set )在DBCS系列标准里,最大的特点是两字节长的汉字字符和一字节长的英文字符并存于同一套编码方案里,因此程序为了支持中处理,必须要注意字串里的每一个字节的值࿰

;