4

Python にはunicode、バイト ストリームを Unicode 文字列に変換する組み込み関数があります。

ここに画像の説明を入力

システムで利用可能なすべてのエンコーディングを照会できることを願っています。しかし、どのように。

この質問の理由は次のとおりです。MAC OS X を使用している人が、コンテンツ エンコーディング 'iso-2022-cn' を含む電子メールを私に送信しました。Windows 7 上の Python 2.7 がそのエンコーディングを認識しないことがわかりました。

>>> print unicode(bs2022, 'iso-2022-cn')

Traceback (most recent call last):
  File "<pyshell#97>", line 1, in <module>
    print unicode(bs2022, 'iso-2022-cn')
LookupError: unknown encoding: iso-2022-cn

そこで、Python がサポートできるすべてのエンコーディングを調べて、「iso-2022-cn」に別の名前を使用しているかどうかを調べたいと思います。

4

1 に答える 1

5

これはpython 2.7のリストです

また、これを行うことができます

from encodings.aliases import aliases
>>> def find(q):
        q = encodings.normalize_encoding(q)
...     return [(k,v)for k,v in aliases.iteritems() if q in v or q in k]

>>>> find('100')
[('ksx1001', 'euc_kr'), ('iso_ir_100', 'latin_1'), ('ks_x_1001', 'euc_kr')]
于 2013-06-19T03:16:25.433 に答える