- 最早的字符串编码是美国标准信息交换码,即ASCⅡ码
- GBK和GB2312是我国指定的中文编码标准,使用1个字节表示英文字母,2个字节表示中文字符
- UTF-8是国际通用的编码,使用1个字节表示英文字符,3个字节表示中文
- 两种常用的字符串类型:str 和 bytes。str表示Unicode字符(ASCⅡ码或者其他),bytes表示二进制数据(包括编码的文本)。
encode()
encode()方法为str对象的方法,用于将字符串转换为二进制数据(即bytes)
str.encode([encoding="utf-8"][,errors="strict"])
- str:要进行转换的字符串
- encoding="utf-8":可选参数,用于指定进行转码时采用的字符编码,默认为UTF-8
- errors="strict":可选参数,用于指定错误处理方式,默认值为strict(strict遇到非法字符就抛出异常;ignore忽略非法字符;replace用“?”替换非法字符;xmlcharrefreplace使用xml的字符引用等)
s = "您好,world!"
s_byte = s.encode('gbk')
print("原:",s)
print("换:",s_byte)
输出:
原: 您好,world!
换: b'\xc4\xfa\xba\xc3\xa3\xacworld\xa3\xa1'
decode()
decode()方法为bytes对象的方法,用于将二进制转换为字符串
bytes.decode([encoding="utf-8"][,errors="strict"])
- str:要进行转换的二进制数据
- encoding="utf-8":可选参数,用于指定进行转码时采用的字符编码,默认为UTF-8
- errors="strict":可选参数,用于指定错误处理方式,默认值为strict(strict遇到非法字符就抛出异常;ignore忽略非法字符;replace用“?”替换非法字符;xmlcharrefreplace使用xml的字符引用等)
s = b'\xc4\xfa\xba\xc3\xa3\xacworld\xa3\xa1'
print("解码后",s.decode('gbk'))
输出:
解码后: 您好,world!
注意:在使用encode()和decode()方法,不会修改原字符串,如果需要修改原字符串,需要对其进行重新赋值
本文暂时没有评论,来添加一个吧(●'◡'●)