我发现了很多像♥和❦这样的特殊符号,我想用于Python 3.3的程序,并且程序工作正常在IDLE,但是当我运行使用它的命令行立即死机,提供有关字符的错误不被认可:Python 3.3:通过命令行运行时打印♥和❦等特殊符号
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(从错误中计算出来),但我不知道如何获得每个符号的十六进制/十进制/无论什么和放在哪里。
示例LATIN CAPITAL LETTER下用变音符号:
--decoding地图键和值:0x0080: 0x00c7, # LATIN CAPITAL LETTER C WITH CEDILLA
--decoding表字符串:'\xc7' # 0x0080 -> LATIN CAPITAL LETTER C WITH CEDILLA
--encoding地图键和值:0x00c7: 0x0080, # LATIN CAPITAL LETTER C WITH CEDILLA
我不知道所有的符号是否都需要全部三个(更别说每个都做什么了)。一些有解码图和表,但其他的只有解码表和编码图。
使用该代码将只显示“b'\ xe2 \ x99 \ xa5”。 (心脏)我如何获得实际的心脏符号?我会继续阅读您发布的链接...感谢您的帮助! –
我已阅读您发布的链接和许多其他文档,但没有地址允许打印特殊符号。 –
@DougWillden,它取决于两件事情:您的控制台识别的输出编码以及选择到该控制台中的字体。理想情况下,您需要一个能够识别UTF-8的控制台以及包含要显示的字符的字体。 –