Python其他

详解python里面的encode和decode用法

my_str  = 'Python中文网'

# 1,encode()将 str 类型字符串“C语言中文网”转换成 bytes 类型。

b_str = my_str.encode()  # 默认是utf-8

print(b_str) # b'Python\xe4\xb8\xad\xe6\x96\x87\xe7\xbd\x91'

#也可以手动指定其他编码

bb_str = my_str.encode('GBK')

print(bb_str) # b'Python\xd6\xd0\xce\xc4\xcd\xf8'


# 2, decode()和 encode() 方法正好相反,decode()方法用于将 bytes 类型的二进制数据转换为 str 类型,这个过程也称为“解码”。

de8_str = b_str.decode()

print(de8_str) # Python中文网

de_str = bb_str.decode('gbk')

print(de_str) #Python中文网

# 注意:encode的时候用的什么编码,decode也是要相应的编码,不然会出错。默认编码是utf-8


# 关于decode()的错误参数

#errors = "strict" # strict默认:遇到非法字符就抛出异常。

#errors = "ignore" # 忽略非法字符。

#errors = "replace" # 用“?”替换非法字符。

#errors = "xmlcharrefreplace" # xmlcharrefreplace:使用 xml 的字符引用。


最后修改:2021-10-11 14:47:29