我发现了很多特殊符号,比如 ♥ 和 ❦,我想在 Python 3.3 的程序中使用它们,这些程序在 IDLE 中运行良好,但是当我使用命令行运行它时,它立即崩溃,给出一个有关无法识别字符的错误:
Traceback (most recent call last):
File "C:python33\meh.py", line 1, in <module>
print("\u2665")
File "C:\python33\lib\encodings\cp437.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character 'u\u2665' in position 0: character maps to <undefined>
除了可以在命令行中显示之外,如何将这些符号用于map
其他东西?<undefined>
我假设我可以尝试添加到 python 的 cp437.py (从错误中得出),但我不确定如何为每个符号获取十六进制/十进制/任何内容以及将其放在哪里。
带有 CEDILLA 的拉丁文大写字母 C 的示例:
--解码映射键和值: 0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
--解码表字符串: '\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
--编码映射键和值: 0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
我无法判断所有符号是否都需要这三个(更不用说每个符号的作用了)。有些有解码图和表,但另一些只有解码表和编码图。