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

python编码

时间:2020-04-18 22:35:34      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:body   http   rac   python编码   line   detail   border   ror   python3   

参考文章:https://blog.csdn.net/yanghuan313/article/details/63262477

 

python编码:encode()

将Unicode字符按照编码规则(如UTF-8)编成字节序列。

>>> a = u"测试"
>>> a.encode("UTF-8")
‘\xe6\xb5\x8b\xe8\xaf\x95‘

python解码:decode()

将字节序列按照编码规则(如UTF-8)解释成unicode。

>>> a = b"测试"
>>> a.decode("GBK")
u‘\u5a34\u5b2d\u762f‘

 

  默认编码(str)   总结
python2  bytes(字节字符串)  unicode(文本字符串) str 对象有一个encode方法,bytes 对象有一个decode方法,str有个encode()方法,unicode有个decode()方法,但永远不要使用它们。
python3

Unicode(文本字符串)

bytes(字节字符串)

str 对象有一个encode方法,bytes 对象有一个decode方法

 

# python2
>>> a = "测试"
>>> type(a)
<type str>
>>> a.decode("GBK")
u\u5a34\u5b2d\u762f
>>> type(a.decode("GBK"))
<type unicode>

>>> b = u"测试"
>>> type(b)
<type unicode>
>>> b.encode("GBK")
\xb2\xe2\xca\xd4
>>> type(b.encode("GBK"))
<type str>

 

# python3

>>> a = "测试"
>>> type(a)
<class ‘str‘>
>>> a.encode("UTF-8")
b‘\xe6\xb5\x8b\xe8\xaf\x95‘
>>> type(a.encode("UTF-8"))
<class ‘bytes‘>
>>>
>>> b = b"测试"
File "<stdin>", line 1
SyntaxError: bytes can only contain ASCII literal characters.
>>> b = b"wangsl"
>>> type(b)
<class ‘bytes‘>
>>> b.decode("UTF-8")
‘wangsl‘
>>> type(b.decode("UTF-8"))
<class ‘str‘>

 # b‘‘表示bytes(二进制)类型;str表示unicode(字符)类型
# 如下是互相转换方式
b‘‘ = str.encode(‘utf-8‘)
str = b‘‘.decode(‘utf-8‘)

 

python编码

标签:body   http   rac   python编码   line   detail   border   ror   python3   

原文地址:https://www.cnblogs.com/wangsl1204/p/10374197.html

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