Python 里面怎么对这个东西解码?

2018-06-12 13:43:51 +08:00
 lhx2008
绕来绕去已经把我绕晕了,环境是 python3

爬虫抓到一个 json (没错,就是这么鬼畜的 json ),已经变成 str 格式

{'htype': '%2E%u4E2D%u56FD', 'hnew': '%33%30%2E%30%30'}

然后我用

urllib.parse.unquote() 解

得到

{'htype': '.%u4E2D%u56FD', 'hnew': '30.00'}


然后就不知道要怎么弄了,搜索了一会也没结果

正确结果应该是
{'htype': '.中国', 'hnew': '30.00'}
990 次点击
所在节点    问与答
5 条回复
sujin190
2018-06-12 14:13:44 +08:00
4E2D 就是“中”的 unicode 的编码,只不过 json 一般来说是用\u4E2D 来表示了
你可以 replace("%", "\\").replace("'", '"'),应该就可以解码出来了
这么坑的。。
hxsf
2018-06-12 14:16:59 +08:00
decodeURI 了解下
lhx2008
2018-06-12 14:17:19 +08:00
@sujin190 先用 quote,再替换,然后这种混合体怎么再次解密?
lhx2008
2018-06-12 14:19:31 +08:00
@lhx2008 替换之后用 json.loads 不知道会不会解,回去试一下
sujin190
2018-06-12 14:54:35 +08:00
@lhx2008 replace 之后 json.loads 就可以加载了啊,replace 之后就是正常的 json 格式了,可以正常解码的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/462445

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX