我想在python中解码字符串

时间:2014-04-25 08:30:58

标签: python unicode decode

使用python,如何转换像

这样的字符串
'id\u003d215903184\u0026index\u003d0\u0026st\u003d52\u0026sid\u003d95000\u0026ip\u003d14.145.245.85\u0026pw\u003d'

id=215903184&index=0&st=52&sid=95000&ip=14.145.245.85&pw=

更新
具体问题是当我请求网址时,返回:

 {"code":0,"urls":["http://vr.tudou.com/v2proxy/v?id\u003d217267950\u0026index\u003d0\u0026st\u003d52\u0026sid\u003d95000\u0026ip\u003d113.68.97.224\u0026pw\u003d"]}

所以,我想解析这个真正的网址可以访问

4 个答案:

答案 0 :(得分:2)

在Python 3中,字符串是相同的。在Python 2中,如果字符串在您的脚本中没有硬编码(在这种情况下您可以使用Unicode文字,正如Roberto建议的那样),您可以解码它:

In [1]: s = 'id\u003d215903184\u0026index\u003d0\u0026st\u003d52\u0026sid\u003d95000\u0026ip\u003d14.145.245.85\u0026pw\u003d'

In [2]: s.decode('unicode-escape')
Out[2]: u'id=215903184&index=0&st=52&sid=95000&ip=14.145.245.85&pw='

答案 1 :(得分:1)

只需使用:

>>> s = u'id\u003d215903184\u0026index\u003d0\u0026st\u003d52\u0026sid\u003d95000\u0026ip\u003d14.145.245.85\u0026pw\u003d'
>>> s
u'id=215903184&index=0&st=52&sid=95000&ip=14.145.245.85&pw='

答案 2 :(得分:0)

试试这个:

u'id\u003d215903184\u0026index\u003d0\u0026st\u003d52\u0026sid\u003d95000\u0026ip\u003d14.145.245.85\u0026pw\u003d'

答案 3 :(得分:0)

试试这个,

>>> import unicodedata
>>> unicodedata.normalize('NFKD', u'id\u003d215903184\u0026index\u003d0\u0026st\u003d52\u0026sid\u003d95000\u0026ip\u003d14.145.245.85\u0026pw\u003d').encode('ascii','ignore')
'id=215903184&index=0&st=52&sid=95000&ip=14.145.245.85&pw='
>>> 

更新

>>> unicode_str=u'id\u003d215903184\u0026index\u003d0\u0026st\u003d52\u0026sid\u003d95000\u0026ip\u003d14.145.245.85\u0026pw\u003d'
>>> normal_str = unicode_str.encode('utf-8')
>>> normal_str
'id=215903184&index=0&st=52&sid=95000&ip=14.145.245.85&pw='
>>> unicode_str = normal_str.decode('utf-8')
>>> unicode_str
u'id=215903184&index=0&st=52&sid=95000&ip=14.145.245.85&pw='
>>>