ホームページ >バックエンド開発 >Python チュートリアル >Python は中国語の変換 URL エンコーディングを実装します

Python は中国語の変換 URL エンコーディングを実装します

高洛峰
高洛峰オリジナル
2017-03-03 13:07:451643ブラウズ

この記事の例では、Python で中国語変換 URL エンコードを実装する方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

今日はBaidu Tiebaでのことに対処しなければなりません。キーワードのリストを作成したい場合は、必要になるたびにキーワードをリストに直接追加します。ただし、リストに追加された URL が中国語 (「麗江」など) の場合、URL の住所コードは「%E4%B8%BD%E6%B1%9F」となるため、変換が必要です。ここでは urllib モジュールを使用します。

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

それでは、何を転送したいのでしょうか?

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

注意深い生徒は、Tieba URL に「%E4%B8%BD%E6%B1%9F」ではなく %C0%F6%BD%AD が表示されていることに気づくでしょう。これは実際にはエンコードの問題です。 Baidu は gbk、Google などの一般的な Web サイトは utf8 です。したがって、次のステートメントを使用して実現できます。

>>> 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'
>>>

中国語変換 URL エンコーディングを実装する Python に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。