Python 2.7中国語表示と処理

1929 ワード

Pythonの使用を学ぶ過程で、必ず文字の入力と処理に遭遇し、中国語の文字を使用することは避けられない.しかしPython 2.7のデフォルトで使用される文字セットはASCIIであり、中国語文字の表示と処理はサポートされていません.Pythonで中国語を処理するには追加の処理が必要です.
一、冒頭で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')