本文共 1154 字,大约阅读时间需要 3 分钟。
在 Python 中,字符串的编码与解码是常见操作,decode 和 encode 方法是处理这些操作的核心工具。以下将详细介绍这两个方法的使用场景及示例。
decode 方法decode 方法用于将字符串从某一特定编码转换为 Unicode 编码。常见的编码包括 utf-8、gb2312 等。以下示例展示了如何使用 decode 方法:
str1 = '北京101010100朝阳101010300顺义101010400怀柔101010500通州101010600昌平101010700延庆101010800丰台101010900石景山101011000大兴101011100房山101011200密云101011300门头沟101011400平谷101011500八达岭101011600佛爷顶101011700汤河口101011800密云上甸子101011900斋堂101012000霞云岭101012100北京城区101012200'str1_decode = str1.decode('utf-8') 上述代码将字符串 str1 从 utf-8 编码转换为 Unicode 格式。
encode 方法encode 方法则相反,它用于将 Unicode 字符串转换为特定编码。以下示例展示了如何使用 encode 方法:
str2 = '北京城区101012200'str2_encode = str2.encode('utf-8') 上述代码将 Unicode 字符串 str2 转换为 utf-8 编码。
有时需要了解系统默认的编码设置。可以通过以下命令获取当前编码:
#!/usr/bin/env python# coding=utf-8import sysprint(sys.getdefaultencoding())
运行上述代码会显示系统默认的编码类型。
以下示例展示了如何将字符串转换为字典:
b = a.decode("utf-8").encode("utf-8")print({k:v for k, v in re.findall('(\D+)(\d+)', b)}) 上述代码首先将字符串 a 解码为 Unicode 格式,然后再编码为 utf-8,最后通过正则表达式提取字典键值对。
gb2312 需谨慎处理,确保字符正确转换。通过以上方法,开发者可以轻松实现字符串的编码与解码,确保数据在不同系统间无缝传输。
转载地址:http://wnlfk.baihongyu.com/