我如何知道Python的unicode函数识别的所有支持的编码

时间:2013-06-19 03:12:46

标签: python character-encoding python-unicode

Python有一个unicode内置函数,可以将字节流转换为unicode字符串。

enter image description here

我希望我可以在我的系统上查询所有可用的编码。但是如何。

这个问题的原因是:有人使用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'使用了不同的名称。

1 个答案:

答案 0 :(得分:3)

这是python 2.7的list

你也可以这样做

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')]