V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wuming
V2EX  ›  问与答

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

  •  
  •   wuming · 2015-03-03 18:12:28 +08:00 · 12860 次点击
    这是一个创建于 3539 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我从微信的OAuth一处接口获得的结果大概如下:

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


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

    In [12]: print s.encode('raw_unicode_escape')
    无名
    9hills
        2
    9hills  
       2015-03-03 18:40:55 +08:00
    ls是正解,顺便bs下微信吧。。
    wuming
        3
    wuming  
    OP
       2015-03-03 20:24:11 +08:00
    @hicdn 感谢
    wmttom
        4
    wmttom  
       2015-03-03 22:52:12 +08:00
    前段时间写微信登录被坑过,记忆中貌似是微信的http header中没有包含编码信息,requests去请求结果的encoding属性识别不是utf8,指定一下encoding为utf8然后再调用json方法就好了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2676 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:06 · PVG 14:06 · LAX 22:06 · JFK 01:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.