我正在使用命令行解释器(Windows版v3.5)自学Python。
我想做的就是输出一些文本,其中包括欧元符号(€),我了解它的代码是80h(128十进制)。
#!
# -*- coding: utf-8 -*-
mytext = 'Please pay \x8035.'
print(mytext)
它在最后一行崩溃了。
UnicodeEncodeError: 'charmap' codec can't encode character '\x80' in position 11: character maps to <undefined>
我已经进行了大量的谷歌搜索(关于编码等),并且对为什么打印命令失败有了一个大致的想法。通过调整上面的代码,可以发现 ASCII 码直到 \x7f 都能正常工作,这是人们所期望的。
但是我无法弄清楚如何显示 €,而且我发现关于编码的信息令人不知所措和难以理解。(请记住我只是一个新手!)
- 我尝试在文本字符串前加上 u,以便首先创建一个 Unicode 字符串。
- 我尝试创建一个中间对象 outputtext = mytext.encode('utf-8'),但是使用 print 输出此字符串会将其扩展为更加神秘的形式:b'Please pay \xc2\x8035.'
- 我尝试查找另一种函数来代替 print 输出此中间字符串,但迄今为止没有任何效果。
请问是否有人可以向我展示一些代码,以便我可以学习并从中逆推。谢谢!