Python 2.7中国語表示と処理
Pythonの使用を学ぶ過程で、必ず文字の入力と処理に遭遇し、中国語の文字を使用することは避けられない.しかしPython 2.7のデフォルトで使用される文字セットはASCIIであり、中国語文字の表示と処理はサポートされていません.Pythonで中国語を処理するには追加の処理が必要です.
一、冒頭でPythonがUTF-8符号化表示文字を使用することを宣言する
しかし、このようにすると、プログラムを実行中に中国語を表示させるだけで、ファイルに中国語文字を保存したり、データベースに書き込んだりする場合は、このような設定はあなたのニーズを満たすことはできません.
二、システムのデフォルト文字コードを設定する
Pythonのバグは
三、中国語を処理する必要があるところがあれば、いつでもUTF-8コードを行う
よくあるのは、第1ステップと第2ステップの設定を行った後も、中国語の文字を正常に表示して処理することができず、この場合も随用符号化しかできません.処理対象文字列が
便宜上、上記の2つの文をメソッドとしていつでも呼び出すことができます.
一、冒頭でPythonがUTF-8符号化表示文字を使用することを宣言する
#/usr/bin/env python
# -*- coding: UTF-8 -*-
しかし、このようにすると、プログラムを実行中に中国語を表示させるだけで、ファイルに中国語文字を保存したり、データベースに書き込んだりする場合は、このような設定はあなたのニーズを満たすことはできません.
二、システムのデフォルト文字コードを設定する
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
Pythonのバグは
import sys
後にもう一度reload(sys)
でなければならないかもしれませんが、デフォルトの文字符号化文を設定してから有効になります.三、中国語を処理する必要があるところがあれば、いつでもUTF-8コードを行う
よくあるのは、第1ステップと第2ステップの設定を行った後も、中国語の文字を正常に表示して処理することができず、この場合も随用符号化しかできません.処理対象文字列が
string
であると仮定し、次の文を用いてutf-8
符号化を行う.string.encode('utf-8')
utf-8
復号化には、次の文を使用します.unicode(string, encoding='utf-8')
便宜上、上記の2つの文をメソッドとしていつでも呼び出すことができます.
def encode_utf8(string):
return string.encode('utf-8')
def decode_utf8(string)
return unicode(string, encoding='utf-8')