欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

decode_encode

程序员文章站 2022-07-05 14:43:30
...

什么是编码

**编码:**编码就是将字符串用机器能够读懂的字符来表示, 也即是

strs = "good man".encode('utf-8')
print(strs)
--->OutPut
b'\xe5\xa5\xbd\xe4\xba\xba'(<class 'bytes'>)

**解码:**将机器能够读懂的语言转化成人可读的字符

strs = "好人".encode('utf-8')
print(strs.decode('utf-8'))
--->OutPut
好人(<class 'str'>)

字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码, 即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

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

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

总得意思:想要将其他的编码转换成utf-8必须先将其解码成unicode然后重新编码成utf-8,它是以unicode为转换媒介的

在python3中, 文本中是Unicode类型, 由str表示; 二进制数据流由byte表示

str: 只有encode方法,无法使用decode, encode方法就是将str编码成二进制类型
byte: 只有decode方法, 无法使用encode, decode方法就是按照给定的格式进行解码

相关标签: decode encode

推荐阅读