打印ASCII 0-127以外的字符(Python 3)

打印ASCII 0-127以外的字符(Python 3),python,string,ascii,non-ascii-characters,Python,String,Ascii,Non Ascii Characters,所以,我有一个算法,我取一个字符,取它的字符代码,增加一个变量,然后打印这个新字符。但是,我也希望它适用于默认ASCII表中没有的字符。目前它不打印“特殊”字符,例如欧元。如何让它打印某些特殊字符 !/usr/bin/python3 -*-编码:utf-8-*- def generateKeyname: i=0 结果= 对于名称中的字符: newOrd=ordchar+i newChar=chrnewOrd printnewChar 结果+=newChar i+=1 打印名称为的串行密钥,结果为

所以,我有一个算法,我取一个字符,取它的字符代码,增加一个变量,然后打印这个新字符。但是,我也希望它适用于默认ASCII表中没有的字符。目前它不打印“特殊”字符,例如欧元。如何让它打印某些特殊字符

!/usr/bin/python3 -*-编码:utf-8-*- def generateKeyname: i=0 结果= 对于名称中的字符: newOrd=ordchar+i newChar=chrnewOrd printnewChar 结果+=newChar i+=1 打印名称为的串行密钥,结果为 GenerateKeyInputer名称: 每当我输入一个强制使用特殊字符(如| | | | | |)的输入时,它对前四个字符(包括DEL)都可以正常工作,其中DEL给出了透明的矩形图标,但第五个字符(即€)也是一个错误字符,这不是我想要的。我怎样才能解决这个问题

下面是来自| | | | |的输出:


但最后一个字符应该是€,而不是空字符。顺便说一句,当我将第四个字符DEL复制到Windows中时,它变成了一个透明的矩形。在默认编码utf-8中,chr128不是欧元符号。这是一个控制角色。看见因此,它确实应该是空白的,而不是欧元

您可以使用sys.getdefaultencoding验证默认编码


如果要将chr128重新解释为欧元符号,应使用windows-1252编码。在那里,它确实是欧元的象征。不同的编码在如何表示ASCII 0–127以外的值上存在分歧

不,它不是印刷品。对不起,我忘了输出。编辑了@MarkRansom,有用吗?这样更好,这是对问题的更完整的描述。我不知道这是否足以解决它。如果你打印reprresult,你会得到什么?也许你的主机无法处理这个字符,或者使用了一种缺少这个字符的字体。有在线参考确实声称U+0100是欧元符号。Unicode使用拉丁-1字符集作为其前256个代码点,windows-1252是其超集。谢谢!我不知道这是一个windows风格的编码程序在windows中运行,即使是拉丁语。下面,它说Windows-1252将这些字符重新分配为可打印字符。我希望知道在哪里可以找到Unicode代码点的官方列表,因为网络上的代码点不一致。对于ISO-8859-1中的内容甚至没有达成一致意见。
Enter name: |||||
|
}
~


Serial key for name:  |}~