0

如何在 python 2.7 中将 unicode 编码为 urlenconing

我想编码像'€'这样的unicode。

但是我不知道我该怎么办...

>>> u='€'
>>> _u=u'€'
>>> u
'\xa2\xe6'
>>> _u
u'\u20ac'
>>> urllib.quote(u)
'%A2%E6'
>>> urllib.quote(_u)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\urllib.py", line 1268, in quote
    return ''.join(map(quoter, s))
KeyError: u'\u20ac'
>>> print urllib.unquote(urllib.quote(u))
€
>>>

只是我需要 '%A2%E6' 通过 unicode '€'。

我应该怎么办?

>>> print urllib.unquote(urllib.quote(u'€'.encode('utf8')))
?
4

1 回答 1

0

您应该encode使用 unicode 字符串,然后使用urllib.quote. 你自己写了你问题的答案

urllib.quote(u'€'.encode('utf8'))
于 2013-02-21T08:28:30.287 回答