码迷,mamicode.com
首页 > 编程语言 > 详细

Python编码(1)

时间:2017-08-17 14:44:44      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:traceback   字符串   shel   语言   计算   most   ast   传输   ace   

2.7:
1.Unicode统一了语言,常用两个字节表示一个字符

eg:读取记事本中的内容时 计算机先将utf-8字符转换为Unicode到内存中,保存时再将Unicode转换为utf-8保存到文件。
eg2:浏览网页时,服务器将Unicode转换为utf-8再传输到浏览器

2.Unicode编码成utf-8,一个中文Unicode字符变为三个utf-8字符,一个中文Unicode字符变为两个gbk字符
>>> uABC.encode(utf-8)

ABC
>>> u中文.encode(utf-8)
\xe4\xb8\xad\xe6\x96\x87

>>> len(uABC)
3
>>> len(ABC)
3
>>> len(u中文)
2
>>> len(\xe4\xb8\xad\xe6\x96\x87)
6

>>> u中文.encode(gb2312)
\xd6\xd0\xce\xc4

反过来,把UTF-8编码表示的字符串xxx转换为Unicode字符串uxxx用decode(utf-8)方法:

>>> abc.decode(utf-8)
uabc
>>> \xe4\xb8\xad\xe6\x96\x87.decode(utf-8)
u\u4e2d\u6587
>>> print \xe4\xb8\xad\xe6\x96\x87.decode(utf-8)
中文

3.Python 3版本中,字符串是以Unicode编码的
2版本示例:
>>> ord() Traceback (most recent call last): File "<pyshell#1>", line 1, in <module> ord() TypeError: ord() expected a character, but string of length 2 found
3版本示例:
>>> ord() 20013 Python3以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如: >>> ABC.encode(ascii) bABC >>> 中文.encode(utf-8) b\xe4\xb8\xad\xe6\x96\x87 不用在中文前加u了

 

Python编码(1)

标签:traceback   字符串   shel   语言   计算   most   ast   传输   ace   

原文地址:http://www.cnblogs.com/qqzj/p/7381007.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!