字符集、编码和Python

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,包含所有中文

GB2312GBK包含的汉字要少,6763汉字+682其他字符,编码方式相同

GBK18030GBK包含的汉字还要多,27484汉字和其他少数民族文字,编码方式相同

按照GBK18030GBKGB2312的顺序,3种编码是向下兼容,同一个汉字在三个编码方案中是相同的编码

2python中的字符和中文处理的一些注意事项

1python要安装相应的编码库(比如gbk)之后,才能够使用这种编码

2pythonunicode编码转换

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串转换成unicode编码。

encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串转换成gb2312编码。

unicode(s, "gbk")函数也可以用来

3)如果文件里有非ASCII字符,需要在第一行或第二行(在第三行就不行)指定编码声明

4unicode编码的字符串长度的时候,看到几个字符,打印出来的长度就是几

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值