Python には数多くの codec が組み込みで付属します。これらは C 言語の 関数、対応付けを行うテーブルの両方で提供されています。以下のテーブル では codec と、いくつかの良く知られている別名と、エンコーディング が使われる言語を列挙します。別名のリスト、言語のリストともしらみつぶしに 網羅されているわけではありません。大文字と小文字、またはアンダースコア の代りにハイフンにしただけの綴りも有効な別名です。
多くの文字セットは同じ言語をサポートしています。これらの文字セットは 個々の文字 (例えば、EURO SIGN がサポートされているかどうか) や、 文字のコード部分への割り付けが異なります。特に欧州言語では、 典型的に以下の変種が存在します:
Codec | 別名 | 言語 |
---|---|---|
ascii | 646, us-ascii | 英語 |
big5 | big5-tw, csbig5 | 繁体字中国語 |
big5hkscs | big5-hkscs, hkscs | 繁体字中国語 |
cp037 | IBM037, IBM039 | 英語 |
cp424 | EBCDIC-CP-HE, IBM424 | ヘブライ語 |
cp437 | 437, IBM437 | 英語 |
cp500 | EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500 | 西ヨーロッパ言語 |
cp737 | ギリシャ語 | |
cp775 | IBM775 | バルト沿岸国 |
cp850 | 850, IBM850 | 西ヨーロッパ |
cp852 | 852, IBM852 | 中央および東ヨーロッパ |
cp855 | 855, IBM855 | ブルガリア、ベラルーシ、マケドニア、ロシア、セルビア |
cp856 | ヘブライ語 | |
cp857 | 857, IBM857 | トルコ語 |
cp860 | 860, IBM860 | ポルトガル語 |
cp861 | 861, CP-IS, IBM861 | アイスランド語 |
cp862 | 862, IBM862 | ヘブライ語 |
cp863 | 863, IBM863 | カナダ |
cp864 | IBM864 | アラビア語 |
cp865 | 865, IBM865 | デンマーク、ノルウェー |
cp866 | 866, IBM866 | ロシア語 |
cp869 | 869, CP-GR, IBM869 | ギリシャ語 |
cp874 | タイ語 | |
cp875 | ギリシャ語 | |
cp932 | 932, ms932, mskanji, ms-kanji | 日本語 |
cp949 | 949, ms949, uhc | 韓国語 |
cp950 | 950, ms950 | 繁体字中国語 |
cp1006 | Urdu | |
cp1026 | ibm1026 | トルコ語 |
cp1140 | ibm1140 | 西ヨーロッパ |
cp1250 | windows-1250 | 中央および東ヨーロッパ |
cp1251 | windows-1251 | ブルガリア、ベラルーシ、マケドニア、ロシア、セルビア |
cp1252 | windows-1252 | 西ヨーロッパ |
cp1253 | windows-1253 | ギリシャ |
cp1254 | windows-1254 | トルコ |
cp1255 | windows-1255 | ヘブライ |
cp1256 | windows1256 | アラビア |
cp1257 | windows-1257 | バルト沿岸国 |
cp1258 | windows-1258 | ベトナム |
euc_jp | eucjp, ujis, u-jis | 日本語 |
euc_jis_2004 | jisx0213, eucjis2004 | 日本語 |
euc_jisx0213 | eucjisx0213 | 日本語 |
euc_kr | euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001 | 韓国語 |
gb2312 | chinese, csiso58gb231280, euc-cn, euccn, eucgb2312-cn, gb2312-1980, gb2312-80, iso-ir-58 | 簡体字中国語 |
gbk | 936, cp936, ms936 | 簡体字中国語 |
gb18030 | gb18030-2000 | 簡体字中国語 |
hz | hzgb, hz-gb, hz-gb-2312 | 簡体字中国語 |
iso2022_jp | csiso2022jp, iso2022jp, iso-2022-jp | 日本語 |
iso2022_jp_1 | iso2022jp-1, iso-2022-jp-1 | 日本語 |
iso2022_jp_2 | iso2022jp-2, iso-2022-jp-2 | 日本語, 韓国語, 簡体字中国語, 西欧, ギリシャ語 |
iso2022_jp_2004 | iso2022jp-2004, iso-2022-jp-2004 | 日本語 |
iso2022_jp_3 | iso2022jp-3, iso-2022-jp-3 | 日本語 |
iso2022_jp_ext | iso2022jp-ext, iso-2022-jp-ext | 日本語 |
iso2022_kr | csiso2022kr, iso2022kr, iso-2022-kr | 韓国語 |
latin_1 | iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1 | 西ヨーロッパ |
iso8859_2 | iso-8859-2, latin2, L2 | 中央および東ヨーロッパ |
iso8859_3 | iso-8859-3, latin3, L3 | エスペラント、マルタ |
iso8859_4 | iso-8859-4, latin4, L4 | バルト沿岸国 |
iso8859_5 | iso-8859-5, cyrillic | ブルガリア、ベラルーシ、マケドニア、ロシア、セルビア |
iso8859_6 | iso-8859-6, arabic | アラビア語 |
iso8859_7 | iso-8859-7, greek, greek8 | ギリシャ語 |
iso8859_8 | iso-8859-8, hebrew | ヘブライ語 |
iso8859_9 | iso-8859-9, latin5, L5 | トルコ語 |
iso8859_10 | iso-8859-10, latin6, L6 | 北欧 |
iso8859_13 | iso-8859-13 | バルト沿岸国 |
iso8859_14 | iso-8859-14, latin8, L8 | ケルト |
iso8859_15 | iso-8859-15 | 西ヨーロッパ |
johab | cp1361, ms1361 | 韓国語 |
koi8_r | ロシア語 | |
koi8_u | ウクライナ | |
mac_cyrillic | maccyrillic | ブルガリア、ベラルーシ、マケドニア、ロシア、セルビア |
mac_greek | macgreek | ギリシャ |
mac_iceland | maciceland | アイスランド |
mac_latin2 | maclatin2, maccentraleurope | 中央および東ヨーロッパ |
mac_roman | macroman | 西ヨーロッパ |
mac_turkish | macturkish | トルコ語 |
ptcp154 | csptcp154, pt154, cp154, cyrillic-asian | カザフ |
shift_jis | csshiftjis, shiftjis, sjis, s_jis | 日本語 |
shift_jis_2004 | shiftjis2004, sjis_2004, sjis2004 | 日本語 |
shift_jisx0213 | shiftjisx0213, sjisx0213, s_jisx0213 | 日本語 |
utf_16 | U16, utf16 | 全ての言語 |
utf_16_be | UTF-16BE | 全ての言語 (BMP only) |
utf_16_le | UTF-16LE | 全ての言語 (BMP only) |
utf_7 | U7 | 全ての言語 |
utf_8 | U8, UTF, utf8 | 全ての言語 |
codec のいくつかは Python 特有のものなので、それらの codec 名は Python の外では無意味なものとなります。これらの codec の中には Unicode 文字列からバイト文字列への変換を行わず、むしろ単一の 引数をもつ全写像関数はエンコーディングとみなせるという Python codec の性質を利用したものもあります。
以下に列挙した codec では、``エンコード'' 方向の結果は常にバイト文字列 方向です。``デコード'' 方向の結果はテーブル内の被演算子型として列挙 されています。
Codec | 別名 | 被演算子の型 | 目的 |
---|---|---|---|
base64_codec | base64, base-64 | byte string | 被演算子を MIME base64 に変換します。 |
bz2_codec | bz2 | byte string | 被演算子をbz2を使って圧縮します。 |
hex_codec | hex | byte string | 被演算子をバイトあたり 2 桁の 16 進数の表現に変換します。 |
idna | Unicode string | RFC 3490 の実装です。 バージョン 2.3 で 新たに追加 された仕様です。 encodings.idna も参照してください。 | |
mbcs | dbcs | Unicode string | Windows のみ: 被演算子を ANSI コードページ (CP_ACP) に従って エンコードします。 |
palmos | Unicode string | PalmOS 3.5 のエンコーディングです。 | |
punycode | Unicode string | RFC 3492 を実装しています。 バージョン 2.3 で 新たに追加 された仕様です。 | |
quopri_codec | quopri, quoted-printable, quotedprintable | byte string | 被演算子を MIME quoted printable 形式に変換します。 |
raw_unicode_escape | Unicode string | Python ソースコードにおける raw Unicode リテラルとして 適切な文字列を生成します。 | |
rot_13 | rot13 | byte string | 被演算子のシーザー暗号 (Caesar-cypher) を返します。 |
string_escape | byte string | Python ソースコードにおける文字列リテラルとして適切な 文字列を生成します。 | |
undefined | any | 全ての変換に対して例外を送出します。 バイト列と Unicode 文字列との間で自動的な型強制をおこないたくない 時にシステムエンコーディングとして使うことができます。 | |
unicode_escape | Unicode string | Python ソースコードにおける Unicode リテラルとして適切な 文字列を生成します。 | |
unicode_internal | Unicode string | 被演算子の内部表現を返します。 | |
uu_codec | uu | byte string | 被演算子を uuencode を用いて変換します。 |
zlib_codec | zip, zlib | byte string | 被演算子を gzip を用いて圧縮します。 |
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。