Python encode()和decode()方法:字符串编码转换
前面章节在介绍 bytes 类型时,已经对 encode() 和 decode() 方法的使用做了简单的介绍,
本节将对这 2 个方法做详细地说明。
我们知道,最早的字符串编码是 ASCII 编码,它仅仅对 10 个数字、26 个大小写英文字母以及一些特殊字符进行了编码。
ASCII 码做多只能表示 256 个符号,每个字符只需要占用 1 个字节。
随着信息技术的发展,各国的文字都需要进行编码,
于是相继出现了 GBK、GB2312、UTF-8 编码等,
其中 GBK 和 GB2312 是我国制定的中文编码标准,
规定英文字符母占用 1 个字节,中文字符占用 2 个字节;
而 UTF-8 是国际通过的编码格式,它包含了全世界所有国家需要用到的字符,
其规定英文字符占用 1 个字节,中文字符占用 3 个字节。
Python 3.x 默认采用 UTF-8 编码格式,有效地解决了中文乱码的问题。
在 Python 中,有 2 种常用的字符串类型,分别为 str 和 bytes 类型,
其中 str 用来表示 Unicode 字符,
bytes 用来表示二进制数据。
str 类型和 bytes 类型之间就需要使用 encode() 和 decode() 方法进行转换。