Python には数多くの codec が組み込みで付属します。これらは C 言語の 関数、対応付けを行うテーブルの両方で提供されています。以下のテーブル では codec と、いくつかの良く知られている別名と、エンコーディング が使われる言語を列挙します。別名のリスト、言語のリストともしらみつぶしに 網羅されているわけではありません。大文字と小文字、またはアンダースコア の代りにハイフンにしただけの綴りも有効な別名です。
多くの文字セットは同じ言語をサポートしています。これらの文字セットは 個々の文字 (例えば、EURO SIGN がサポートされているかどうか) や、 文字のコード部分への割り付けが異なります。特に欧州言語では、 典型的に以下の変種が存在します:
| Codec | 別名 | 言語 |
|---|---|---|
| ascii | 646, us-ascii | イギリス |
| 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 | デンマーク、ノルウェー |
| cp869 | 869, CP-GR, IBM869 | ギリシャ |
| cp874 | タイ | |
| cp875 | ギリシャ | |
| 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 | ベトナム |
| 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 | 西ヨーロッパ |
| koi8_r | ロシア | |
| koi8_u | ウクライナ | |
| mac_cyrillic | maccyrillic | ブルガリア、ベラルーシ、マケドニア、ロシア、セルビア |
| mac_greek | macgreek | ギリシャ |
| mac_iceland | maciceland | アイスランド |
| mac_latin2 | maclatin2, maccentraleurope | 中央および東ヨーロッパ |
| mac_roman | macroman | 西ヨーロッパ |
| mac_turkish | macturkish | トルコ |
| 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 に変換します |
| 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 を用いて圧縮します。 |
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。