41

Pythonでこれを実際の表現である%CE%B1%CE%BB%20これに変換する方法はありますか?αλ

4

3 に答える 3

82

Python 2 の場合:

>>> import urllib2
>>> print urllib2.unquote("%CE%B1%CE%BB%20")
αλ 

Python 3 の場合:

>>> from urllib.parse import unquote
>>> print(unquote("%CE%B1%CE%BB%20"))
αλ

すべてのバージョンで動作するコードは次のとおりです。

try:
    from urllib import unquote
except ImportError:
    from urllib.parse import unquote

print(unquote("%CE%B1%CE%BB%20"))
于 2012-08-01T21:51:39.943 に答える
11

ここでは 2 つのエンコーディングが使用されます。文字列は最初にUTF-8としてエンコードされ、次に各バイトがパーセントでエンコードされました。

元の文字列を取得するには、まず引用符を外してからデコードする必要があります。

>>> import urllib
>>> s = '%CE%B1%CE%BB%20'
>>> result = urllib.unquote(s).decode('utf8')
>>> print result
αλ 

値を表示するには、Unicode 対応のコンソールが必要であることに注意してください (print ステートメントでエラーが発生した場合は、IDLEで実行してみてください)。

于 2012-08-01T21:52:01.677 に答える