python3 编解码

代肖宇 3个月前 30浏览 0评论

Python3 编解码

在 Python3 中,字符串是默认使用 Unicode 编码的。 Unicode 是一套由国际组织维护的字符集,包含了世界上所有的符号和字符。Python3 是以 Unicode 编码来处理字符串的,在 Python3 内部,所有的字符串都是使用 Unicode 编码。

然而,在实际使用中,我们通常需要将 Unicode 编码转换为其他编码,例如 UTF-8、GBK 等等。同样地,我们也需要将其他编码转换为 Unicode 编码。

Python3 中,提供了很多与编解码相关的函数,包括 encode(),decode(),以及相应的编解码类型。

# 字符串编码为 UTF-8
a = "你好"
b = a.encode("UTF-8")

print(b)   # b'\xe4\xbd\xa0\xe5\xa5\xbd'

# 将 UTF-8 编码转换为字符串
c = b.decode("UTF-8")

print(c)   # 你好

在使用编解码相关函数时,需要注意当前字符串所采用的编码类型。例如上述代码中,原字符串采用的是 Unicode 编码,因此需要使用 encode() 函数将其编码为其他类型;而对于一个已经采用其他编码的字符串,需要使用 decode() 函数将其转换为 Unicode 编码。

除了 encode() 和 decode() 函数外,Python3 对于一些常用的编码类型也提供了对应的函数,例如:

# 字符串编码为 GBK
d = "你好"
e = d.encode("GBK")

print(e)   # b'\xc4\xe3\xba\xc3'

# 将 GBK 编码转换为字符串
f = e.decode("GBK")

print(f)   # 你好

总的来说,在 Python3 中使用编解码函数无需过多关注编码的具体类型,只要保证编解码类型的一致性即可。