pythonの符号化

711 ワード

ファイルのエンコーディング
pyファイルのヘッダに「#-*-coding:TYPE-*-」でpyファイルの符号化をマーク
のように
# -*- coding:gbk -*-
ファイル内のすべての文字がgbk符号化されていることを示します.しかし、このタグはpythonの入出力の符号化に影響しない.
文字列のエンコーディング
python(2.X版)の内部には2つの文字列があります
strとunicode
strは符号化を一切使用せず、表示できない文字は'xXX'、XXは文字の16進数値で表示される
unicodeで使われているのはもちろんunicodeコードです.その文字は'uXXXX'と表示されます.
strは1文字1バイト、unicodeは1文字2バイトです.
strは任意のデータ、さらには2進数データを保存することができる.ただしunicodeはunicode文字のみを保存できます.
strからunicodeへの変換使用

string.decode("gbk") # gbk         unicode   

unicodeからstrへの変換使用

string.encode("gbk") # unicode         gbk