python2.7.9 中关于类似 u'\xe6\x97\xa0\xe5\x90\x8d' Unicode 的显示

2015-03-03 18:12:28 +08:00
 wuming
我从微信的OAuth一处接口获得的结果大概如下:

{......., u'nickname': u'\xe6\x97\xa0\xe5\x90\x8d',.......}


尝试了网上说的一些方法一直都无法正确显示正确的中文字符,请问这个情况下如何编解码才能得到正确的中文字符?谢谢
12690 次点击
所在节点    问与答
4 条回复
hicdn
2015-03-03 18:38:29 +08:00
In [11]: s = u'\xe6\x97\xa0\xe5\x90\x8d'

In [12]: print s.encode('raw_unicode_escape')
无名
9hills
2015-03-03 18:40:55 +08:00
ls是正解,顺便bs下微信吧。。
wuming
2015-03-03 20:24:11 +08:00
@hicdn 感谢
wmttom
2015-03-03 22:52:12 +08:00
前段时间写微信登录被坑过,记忆中貌似是微信的http header中没有包含编码信息,requests去请求结果的encoding属性识别不是utf8,指定一下encoding为utf8然后再调用json方法就好了。

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

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

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

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

© 2021 V2EX