鱼C论坛

 找回密码
 立即注册
查看: 1639|回复: 2

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

[复制链接]
发表于 2020-5-7 16:37:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 小小小菜菜菜 于 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格式的编码:
tejscon.png
请各位高手给支个招。
其中的文件内容:
{"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 手册 "}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-7 16:40:48 | 显示全部楼层
用urllib.parse.unquote?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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>"}'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 05:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表