我正在使用命令行解释器(适用于 Windows 的 v3.5)自学 Python。
我想要做的就是输出一些包含欧元 (€) 符号的文本, 我知道它是代码 80h (128 dec)。
#!
# -*- coding: utf-8 -*-
mytext = 'Please pay \x8035.'
print(mytext)
它落在最后一行:
UnicodeEncodeError: 'charmap' codec can't encode character '\x80' in position 11: character maps to <undefined>
我做了很多谷歌搜索(重新编码等),我大致知道打印命令失败的原因。修改上面的代码表明 \x7f 之前的 ASCII 代码可以正常工作,正如人们所期望的那样。
但我无法弄清楚如何显示 € ,而且我发现有关编码的信息势不可挡且难以理解。 (记住我只是个菜鸟!)
- 我试过在文本字符串前加上 u 来首先创建一个 unicode 字符串。
- 我已经尝试创建一个中间对象 outputtext = mytext.encode(‘utf-8’) 但是用 print 输出它会将字符串扩展为更神秘的形式: b’Please pay \xc2\x8035.’
- 我试图找到一个不同的函数而不是 print 来输出这个中间字符串,但是还没有任何效果。
请有人能告诉我一些有效的代码,这样我 就 可以研究它并从那里向后工作。谢谢!
原文由 LD2k 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 Unicode 字符名称
\N{name}
是打印 unicode 字符符号的好方法。这是示例运行….