0

Python 2.7でUnicodeをurlenconingにエンコードする方法

「€」のようなユニコードをエンコードしたい。

でも、どうすればいいのかわからない…

>>> 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」が必要です。

私は何をすべきか?

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

1 に答える 1

0

encode文字列をユニコードしてから使用する必要がありますurllib.quote。あなた自身があなたの質問への答えを書いた

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