使用encode()方法编码
str.encode([encoding="utf-8"][,errors="strict"])
- str:表示需要转换的字符串
- encoding=“utf-8”:可选参数,用于指定进行转码时采用的字符编码,默认为
UTF-8
,如果想使用简体中文,也可以设置为gb2312
。当只有这一个参数时,也可以省略前面的“encoding=”,直接写编码。 - errors=“strict”:可选参数,用于指定错误处理方式,其可选择值可以是strict(遇到非法字符就抛出异常)、ignore(忽略非法字符)、replace(用"?"替换非法字符) 或 xmlcharrefreplace(使用XML的字符引用)等,默认strict。
UTF-8示例代码:
verse = "野渡无人舟自横"
byte = verse.encode()
print("原始字符串:", verse)
print("转换后的二进制数据:", byte)
执行结果:
原始字符串: 野渡无人舟自横
转换后的二进制数据: b'\xe9\x87\x8e\xe6\xb8\xa1\xe6\x97\xa0\xe4\xba\xba\xe8\x88\x9f\xe8\x87\xaa\xe6\xa8\xaa'
GBK代码示例:
verse = "野渡无人舟自横"
byte = verse.encode('GBK')
print("原始字符串:", verse)
print("转换后的二进制数据:", byte)
执行结果:
原始字符串: 野渡无人舟自横
转换后的二进制数据: b'\xd2\xb0\xb6\xc9\xce\xde\xc8\xcb\xd6\xdb\xd7\xd4\xba\xe1'
使用decode()方法解码
decode()
方法为bytes对象的方法用于将二进制数据转换为字符串,即将使用encode()
方法转换的结果再转换为字符串,也称为“解码”。
bytes.decode([encoding="utf-8"][,errors="strict"])
- bytes:表示要进行转换的二进制数据,通常是encode()方法转换的结果。
- encoding=“utf-8”:可选参数,用于指定进行解码时采用的字符编码,默认为UTF-8,如果想使用简体中文,也可以设置为gb2312。当只有这一个参数时,也可以省略前面的“encoding=”,直接写编码。
示例代码:
verse = "野渡无人舟自横"
byte = verse.encode('GBK')
print("原始字符串:", verse)
print("转换后的二进制数据:", byte)
print('解码后的结果:', byte.decode('gbk'))
执行结果:
原始字符串: 野渡无人舟自横
转换后的二进制数据: b'\xd2\xb0\xb6\xc9\xce\xde\xc8\xcb\xd6\xdb\xd7\xd4\xba\xe1'
解码后的结果: 野渡无人舟自横