字符串编码转换¶
最早的字符串编码是ASCII码, 它仅仅对10个数字, 26个大小写英文字母以及一些特殊字符进行了编码. ACSII码最多只能表示256个符号, 每个字符只需要占用1个字节.
随着信息技术的发展, 各国的文字都需要进行编码, 于是相继出现了GBK, GB2312, UTF-8编码等, 其中GBK和GB2312是我国制定的中文编码标准, 规定英文字符占用1个字节, 中文字符占用2个字节; 而UTF-8是国际通用的编码格式, 它包含了全世界所有国家需要用到的字符, 其规定英文字符占用1个字节, 中文字符占用3个字节.
注解
Python 3.x默认采用了UTF-8编码格式, 有效地解决了中文乱码的问题.
encode()方法¶
encode()方法为字符串类型提供的方法, 用于将str类型转换bytes类型, 这个过程也称为”编码”.
string.encode([encoding='utf-8'][, errors='strict'])
encoding='utf-8'参数用于指定编码时采用的字符编码, 该选项默认采用utf-8编码. 例如, 如果想使用简体中文, 可以设置为gb2312.errors='strict'参数用于指定错误处理方法, 其可选择的值有:strict- 遇到非法字符就抛出异常(默认值的);ignore- 忽略非法字符;replace- 用?替换非法字符;xmpcharrefreplace- 使用xml的字符引号.
decode()方法¶
和encode()方法相反, decode()方法用于将bytes类型的二进制数据转换为str类型, 这个过程也称为”解码”.
bytes.decode([encoding='utf-8'][, errors='strict'])