字符串编码转换
其实编码问题很好搞定,只要记住一点:任何平台的任何编码,都能和Unicode互相转换。UTF-8 与 GBK 互相转换,那就先把 UTF-8 转换成 Unicode,再从 Unicode 转换成 GBK,反之同理。
-
# 这是一个 UTF-8 编码的字符串
-
utf8Str = "你好地球"
-
-
# 1. 将 UTF-8 编码的字符串 转换成 Unicode 编码
-
unicodeStr = utf8Str.decode("UTF-8")
-
-
# 2. 再将 Unicode 编码格式字符串 转换成 GBK 编码
-
gbkData = unicodeStr.encode("GBK")
-
-
# 1. 再将 GBK 编码格式字符串 转化成 Unicode
-
unicodeStr = gbkData.decode("gbk")
-
-
# 2. 再将 Unicode 编码格式字符串转换成 UTF-8
-
utf8Str = unicodeStr.encode("UTF-8")
- decode: 的作用是将其它编码的字符串转换成 Unicode 编码
- encode :的作用是将 Unicode 编码转换成其他编码的字符串
- 一句话:UTF-8 是对 Unicode 字符集记性编码的一种编码格式
注意事项:
json.loads() 是把 Json 格式字符串解码转换成 Python 对象,如果在 json.loads 的时候出错,要注意被解码的 Json 字符的编码。
如果传入的字符串的编码不是 UTF-8 的话,需要制定字符编码的参数:encoding
dataDict = json.loads(jsonStrGBK);
dataJsonStr 是 JSON 字符串,假设其编码本身是非 UTF-8 的话而是 GBK 的,那么上述代码会导致出错,改为对应的。
dataDict = json.loads(jsonStrGBK, encoding="GBK")
如果 dataJsonStr 通过 encoding 指定了合适的编码,但是其中又包含了其它编码的字符,则需要先去将 dataJsonStr 转换为Unicode,然后再指定编码格式调用 json.loads()
-
dataJsonStrUni = data.JsonStr.decode("GB2312")
-
dataDict = json.loads(dataJsontrUni, encoding="GB2312")
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了