如何將unicode編碼爲urlenconing中的python 2.7如何將unicode編碼爲python 2.7中的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')))
?
編碼爲utf-8,然後一切順利。 http://stackoverflow.com/questions/5557849/is-there-a-unicode-ready-substitute-i-can-use-for-urllib-quote-and-urllib-unquot – fanlix 2013-02-21 07:34:15
謝謝@fanlix,我讀你的鏈接。但我仍然不知道。該鏈接說使用encode()。所以我試了一下。請參閱上文。 – chobo 2013-02-21 07:45:52