编码
ASCII:一个字节一个字符,无汉字
Unicode:两个字节一个字符
UTF-8:英文字母一个字节,汉字三个字节
计算机内存:Unicode;硬盘或传输:UTF-8
字符串
ord()获取字符的整数表示;chr()转换编码为对应字符
>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'
以Unicode表示的str通过encode()编码为指定的bytes,无法显示为ASCII字符的字节用\x##表示
读取到字节流bytes通过decode()变为str,如果有一小部分无效的字节,传入errors='ignore'忽略
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad'.decode('u