decode()和encode()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了decode()和encode()相关的知识,希望对你有一定的参考价值。

Python中,我们使用decode()和encode()来进行解码和编码


在python中,使用unicode类型作为编码的基础类型。即


     decode              encode


str ---------> unicode --------->str


u = u‘中国‘ #显示指定unicode类型对象u

str = u.encode(‘gb2312‘) #以gb2312编码对unicode对像进行编码

str1 = u.encode(‘gbk‘) #以gbk编码对unicode对像进行编码

str2 = u.encode(‘utf-8‘) #以utf-8编码对unicode对像进行编码

u1 = str.decode(‘gb2312‘)#以gb2312编码对字符串str进行解码,以获取unicode

u2 = str.decode(‘utf-8‘)#如果以utf-8的编码对str进行解码得到的结果,将无法还原原来的unicode类型

如上面代码,str\str1\str2均为字符串类型(str),给字符串操作带来较大的复杂性。


好消息来了,对,那就是python3,在新版本的python3中,取消了unicode类型,代替它的是使用unicode字符的字符串类型(str),字符串类型(str)成为基础类型如下所示,而编码后的变为了字节类型(bytes)但是两个函数的使用方法不变:


     decode              encode


bytes ------> str(unicode)------>bytes


u = ‘中国‘ #指定字符串类型对象u

str = u.encode(‘gb2312‘) #以gb2312编码对u进行编码,获得bytes类型对象str

u1 = str.decode(‘gb2312‘)#以gb2312编码对字符串str进行解码,获得字符串类型对象u1

u2 = str.decode(‘utf-8‘)#如果以utf-8的编码对str进行解码得到的结果,将无法还原原来的字符串内容


本文出自 “大荒芜经” 博客,请务必保留此出处http://2892931976.blog.51cto.com/5396534/1791406

以上是关于decode()和encode()的主要内容,如果未能解决你的问题,请参考以下文章

encode 和 decode

encode和decode

python 补充-decode和encode

对于JS 中编码(encode)和解码(decode)的三种方法

encode和decode关系

decode()和encode()