小小小菜菜菜 发表于 2020-5-7 16:37:00

son返回的数据中有unicode和中文混合的字符,全部转成utf-8格式显示

本帖最后由 小小小菜菜菜 于 2020-5-7 17:08 编辑

其中接口返回的数据如下:
{"success":"true","title" : "\u003cspan class\u003dH\u003epython\u003c/span\u003e\u003cspan class\u003dH\u003e零基础\u003c/span\u003e\u003cspan class\u003dH\u003e入门\u003c/span\u003e\u003cspan class\u003dH\u003e学习\u003c/span\u003e\u003cspan class\u003dH\u003ePython\u003c/span\u003e 3 鱼C工作室小甲鱼编者_ 程序设计核心编程\u003cspan class\u003dH\u003e学习\u003c/span\u003e 手册 "}
其中我使用response这个参数来接收,怎么样把unicode编码的数据都转换成utf-8格式的字符,希望转换后的效果为如下的html格式的编码:

请各位高手给支个招。
其中的文件内容:
{"success":"true","title" : "\u003cspan class\u003dH\u003epython\u003c/span\u003e\u003cspan class\u003dH\u003e零基础\u003c/span\u003e\u003cspan class\u003dH\u003e入门\u003c/span\u003e\u003cspan class\u003dH\u003e学习\u003c/span\u003e\u003cspan class\u003dH\u003ePython\u003c/span\u003e 3 鱼C工作室小甲鱼编者_ 程序设计核心编程\u003cspan class\u003dH\u003e学习\u003c/span\u003e 手册 "}

qiuyouzhi 发表于 2020-5-7 16:40:48

用urllib.parse.unquote?

小小小菜菜菜 发表于 2020-5-7 16:58:10

本帖最后由 小小小菜菜菜 于 2020-5-7 17:04 编辑

已经找到方案了,json.loads()就可以转换成utf-8的字典形式。json.dumps()就会把中文变成unicode的格式。最后是由于默认使用ascii编码方式导致
>>> content
'{"success":"true","title" : "\\u003cspan class\\u003dH\\u003epython\\u003c/span\\u003e\\u003cspan class\\u003dH\\u003e零基础\\u003c/span\\u003e\\u003cspan class\\u003dH\\u003e入门\\u003c/span\\u003e\\u003cspan class\\u003dH\\u003e学习\\u003c/span\\u003e\\u003cspan class\\u003dH\\u003ePython\\u003c/span\\u003e 3 鱼C工作室小甲鱼编者_ 程序设计核心编程\\u003cspan class\\u003dH\\u003e学习\\u003c/span\\u003e 手册 "}'
>>> abc = {"saf":"中文","num":12}
>>> json.dumps(abc)
'{"saf": "\\u4e2d\\u6587", "num": 12}'
>>> json.loads(content)
{'success': 'true', 'title': '<span class=H>python</span><span class=H>零基础</span><span class=H>入门</span><span class=H>学习</span><span class=H>Python</span> 3 鱼C工作室小甲鱼编者_ 程序设计核心编程<span class=H>学习</span> 手册 '}
>>> json.dumps(sss)
'{"title": "<html>women\\u70ed</html>"}'
>>> json.dumps(sss,ensure_ascii=False)
'{"title": "<html>women热</html>"}'
>>> json.dumps(sss,ensure_ascii=True)
'{"title": "<html>women\\u70ed</html>"}'
页: [1]
查看完整版本: son返回的数据中有unicode和中文混合的字符,全部转成utf-8格式显示