python中编码总结:

python中编码总结

1 python默认使用程序文件的编码对中文字符串进行编码,所以utf-8 、gbk程序的记录的中文是不同的编码

2 可以强制使用unicode编码进行编码,使用u字符 str = u‘中文字符‘

3. utf-8 每个中文占用3个字节 \xe8\x80\x83

4  gbk 每个中文占用2个字节  \xbf\xbc

5 编码介绍

编码规则

UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节

Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。

验证:

记事本中写1个汉字,查看文件的大小

gbk:2字节  |  unicode:4字节  |  utf-8: 6字节

记事本中写2个汉字,查看文件的大小

gbk:4字节  |  unicode:6字节
 |  utf-8: 9字节

   好像有问题,除了gbk之外,另外两种编码完全不符合编码规则。。。,最后通过可查看16进制编辑器(UltraEdit)查看文件的内容发现记事本
对于 unicode、utf-8编码开头会加一个字符,分别占用一个汉字的空间(2字节、3字节),所以去除这个字符占用字符应该是这样的。

记事本中写1个汉字,查看文件的大小

gbk:2字节  |  unicode:2字节  |  utf-8:
3字节

记事本中写2个汉字,查看文件的大小

gbk:4字节  |  unicode:4字节
 |  utf-8:
6字节

备注:

1  如果想获取中文的编码 可使用 str.encode(‘hex‘)

str = "考"
<span style="white-space:pre">	</span>for item in str:
<span style="white-space:pre">	</span>print item.encode("hex")  #每个汉子 使用3个字节

2 字节(byte): 8位(bit)

时间: 2024-10-27 18:05:33

python中编码总结:的相关文章

Python中编码的详细讲解

看这篇文章前,你应该已经知道了为什么有编码,以及编码的种类情况 ASCII 占1个字节,只支持英文 GB2312 占2个字节,支持6700+汉字 GBK GB2312的升级版,支持21000+汉字 Shift-JIS 日本字符 ks_c_5601-1987 韩国编码 TIS-620 泰国编码 由于每个国家都有自己的字符,所以其对应关系也涵盖了自己国家的字符,但是以上编码都存在局限性,即:仅涵盖本国字符,无其他国家字符的对应关系.应运而生出现了万国码,他涵盖了全球所有的文字和二进制的对应关系, U

Python中编码和字符串

编码和字符串 编码 在学习回顾中总结一下ASCII编码.Unicode编码和utf-8编码. 计算机中只能处理数字,我们若要处理文本的话就要将文件转换为数字.所以,这就涉及该怎样转换的问题,也就是编码问题. 在计算机中使用8个比特(bit)作为一个字节(byte),一个字节最大的表示范围是255(从0开始),意味着一个字节最多表示256个字符,表示更多的字符需要更多的字节. ASCII编码 因为计算机是美国人发明的,所以最早就只有127个字符被编码到计算机中.127个字符包括大小写英文字母.数字

理解Python中编码的应用

完全理解字符编码 与 Python 的渊源前,我们有必要把一些基础概念弄清楚,虽然有些概念我们每天都在接触甚至在使用它,但并不一定真正理解它.比如:字节.字符.字符集.字符码.字符编码. 字节 字节(Byte)是一个抽象出来的计算机测量单位.8个0和1组成的二进制数据称为1个字节(1Byte=8bits).字节是计算机中数据存储的基本单元. 计算机中的所有数据,不论是保存在磁盘文件上的还是网络上传输的数据(文字.图片.视频.音频文件)都是由字节组成的 字符 字符(Character)也是一个抽象

python中编码和解码decode和encode的使用

python 在处理字符串时经常遇到编码错误,导致乱码,且python 2.x和 python 3.x之间有很大的不同,先在这里记录一下,以后整理; 转载 文章一篇: http://www.cnblogs.com/evening/archive/2012/04/19/2457440.html

Python中编码encode()与解码decode()

1 print('这是编码'.encode('utf-8')) # 结果 b'\xe8\xbf\x99\xe6\x98\xaf\xe7\xbc\x96\xe7\xa0\x81' 2 print('这是编码'.encode('gbk')) # 结果 b'\xd5\xe2\xca\xc7\xb1\xe0\xc2\xeb' 3 4 print(b'\xe8\xbf\x99\xe6\x98\xaf\xe7\xbc\x96\xe7\xa0\x81'.decode('utf-8')) # 结果'这是编码'

【转】Python字符编码详解

1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求.后来每个语言就制定了一套自己的编码,由于单字节

Python字符编码详解(转)

1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求.后来每个语言就制定了一套自己的编码,由于单字节

Python字符编码 zz

http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2. MBC

python 字符编码详解

1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号.不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础. 1.2. MBCS 然而计算机世界里很快就有了其他语言,单字节的ASCII已无法满足需求.后来每个语言就制定了一套自己的编码,由于单字节