1、encode() 方法以指定的编码格式编码字符串。
语法:str.encode(encoding='UTF-8',errors='strict')
参数:
encoding:要使用的编码,如: UTF-8。
errors:设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能的值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。
该方法返回编码后的字符串,它是一个 bytes 对象。
python
str1 = '字符串'
str2 = str1.encode("UTF-8")
str3 = 'hello'
str4 = str3.encode("UTF-8")
print(str2) # 运行结果:b'\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2'
print(str4) # 运行结果:b'hello'
2、decode() 方法以指定的编码格式解码 bytes 对象。默认编码为 'utf-8'。
语法:bytes.decode(encoding="utf-8", errors="strict")
encoding -- 要使用的编码,如"UTF-8"。
参数:
encoding:要使用的编码,如"UTF-8"。
errors:设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。
Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
python
str1 = '字符串'
str2 = str1.encode("UTF-8")
print(str2) # 运行结果:b'\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2'
str3 = str2.decode('UTF-8','strict')
print(str3) # 运行结果:字符串