1 )字符集、编码和中文字符集
字符集的意思是指二进制编码(比如:DE 8F 1A 90)对应什么字符(比如:连通)。而编码方式是指二进制编码如何在计算机上存储。比如:UTF-16是用两个字节来存储一个unicode编码(DE 8F 1A 90);UTF-8使用1-3个字节来存储一个unicode编码(E8 BF 9E E9 80 9A )。
unicode如果理解成字符集,则是指它用来表示世界上所有语言的字符。标准的unicode编码方式称为UTF-16,一般都简称unicode编码,用2个字节表示每个字符。
UTF-8 是unicode字符集的一种编码方式,为了使得双字节的unicode能够在现存的处理单字节的系统上正确传输。用1-3个字节来表示每个字符,对于英文字母用1个字节,对于中文使用3个字节.对于>127的编码,高位都为1
GBK 收录21886字符,编码方式为用2个字节来标示中、英字符。对于中文,最高位设置成1,包含所有中文
GB2312比GBK包含的汉字要少,6763汉字+682其他字符,编码方式相同
GBK18030比GBK包含的汉字还要多,27484汉字和其他少数民族文字,编码方式相同
按照GBK18030、GBK、GB2312的顺序,3种编码是向下兼容,同一个汉字在三个编码方案中是相同的编码
2 )python 中的字符和中文处理的一些注意事项
(1)python要安装相应的编码库(比如gbk)之后,才能够使用这种编码
(2)python中unicode编码转换
decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串转换成unicode编码。
encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串转换成gb2312编码。
unicode(s, "gbk")函数也可以用来
(3)如果文件里有非ASCII字符,需要在第一行或第二行(在第三行就不行)指定编码声明
(4)unicode编码的字符串长度的时候,看到几个字符,打印出来的长度就是几
posted on 2009-07-30 13:03
老马驿站 阅读(687)
评论(0) 编辑 收藏 引用 所属分类:
python