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
方法就是按照给定的格式进行解码
推荐阅读