1.在计算机处理的程序中,对字符的处理有两种方式:编码或译码(encoding),解码(decoding)
encoding:将字符串中的字符转换到对应编码字符集对应的代码点
每一个代码点对于了一些数字,计算机真正存的是这些数字
如:
"python",转换到unicode码的对应为:
P y t h o n
0x50 00 00 00 79 00 00 00 74 00 00 00 68 00 00 00 6f 00 00 00 6e 00 00 00
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
decoding:将别的编码解析为当前环境的编码,如当前环境是unicode,则
string.decode('utf8'),将将字符串从utf8转换为unicode
2.几种编码:
ASCLL, unicode, Latin-1又名ISO-8859-1
ASCLL:表示的范围为:0--127的字符
unicode: 表示的范围为0--(2^16-1)个字符
Latin-1或ISO-8859-1:0--(2^16-1)个字符
UTF-8:(Unicode Transformation Format),8表示使用8位数字编码,
表示的范围很广,有一个字节,两个字节,三个字节存储的
其中:unicode和Latin-1编码的前127个字符编码跟ASCLL一样,后面的unicode和
Latin-1不一样,所以当unicode和latin-1转码为ASCLL时,若都是英文,
是不会出错的,当是中文时,会出错,而当unicode转换为Latin-1时,只转换
大于127的字符编码的字符就可以了
ISO-8859-1编码是单字节编码