Heim  >  Artikel  >  Backend-Entwicklung  >  Python implementiert die chinesische Konvertierungs-URL-Codierung

Python implementiert die chinesische Konvertierungs-URL-Codierung

高洛峰
高洛峰Original
2017-03-03 13:07:451572Durchsuche

Das Beispiel in diesem Artikel beschreibt die Methode zur Implementierung der chinesischen Konvertierungs-URL-Kodierung in Python. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Heute muss ich mich um Dinge auf Baidu Tieba kümmern. Wenn Sie eine Liste mit Schlüsselwörtern erstellen möchten, fügen Sie diese einfach jedes Mal direkt zur Liste hinzu, wenn Sie sie benötigen. Wenn die zur Liste hinzugefügte URL jedoch auf Chinesisch ist (z. B. „Lijiang“), lautet der Adresscode der URL „%E4%B8%BD%E6%B1%9F“, sodass eine Konvertierung erforderlich ist. Hier verwenden wir das Modul urllib.

>>> import urllib
>>> data = '丽江'
>>> print data
丽江
>>> data
'\xe4\xb8\xbd\xe6\xb1\x9f'
>>> urllib.quote(data)
'%E4%B8%BD%E6%B1%9F'

Was ist, wenn wir zurückwechseln wollen?

>>> urllib.unquote('%E4%B8%BD%E6%B1%9F')
'\xe4\xb8\xbd\xe6\xb1\x9f'
>>> print urllib.unquote('%E4%B8%BD%E6%B1%9F')
丽江

Aufmerksame Schüler werden feststellen, dass %C0%F6%BD%AD in der Tieba-URL statt „%E4%B8%BD %E6“ erscheint %B1%9F' ist eigentlich ein Codierungsproblem. Baidus ist gbk und andere allgemeine Websites wie Google sind utf8. Dies kann also mit den folgenden Anweisungen erreicht werden.

>>> import sys,urllib 
>>> s = '丽江'
>>> urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))
'%C0%F6%BD%AD'
>>> urllib.quote(s.decode(sys.stdin.encoding).encode('utf8'))
'%E4%B8%BD%E6%B1%9F'
>>>

Weitere Artikel zur Implementierung der chinesischen Konvertierungs-URL-Codierung in Python finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn