因此,我使用 Windows 10 上的私有(private)字符编辑器私下创建了一个 unicode 字符。该字符以代码 E000
保存。我从字符映射表复制它并粘贴到文本编辑器中,它起作用了。但是,当我将其粘贴到 Python IDLE 编辑器中时,即使在运行程序之前,它也会更改为不同的 unicode 字符。我不能使用 u'unicode_string'
或类似的东西,因为我的 unicode 字符甚至无法在解释器中工作。我是编程新手。
我的问题是,如何在 Python 3.4 中使用我的私有(private) unicode 字符?
This这是我在记事本上看到的。
This这是我在 Python 3.4 解释器上看到的。
最佳答案
Python 并不是真正有趣的部分,而是 shell 或终端。在我们的例子中,Windows 使用特殊的代码点来表示私有(private)字符编码。为了获得这些,您需要在 Windows 的 shell 上获取字符的十六进制转储,然后您可以在 Python 中渲染该字符。
注意:使用 Unicode 点 E021
或 更高,因为较低数字的代码点通常用于控制,并且 Windows 似乎python 解释器和 IDLE 使用的 shell 不允许您用私有(private)字符覆盖那些 shell。
演示
我通过生成我自己的私有(private)角色来测试您的问题。我将在此处放置我的测试图像,因为它无法在 Stack Overflow 上以文本形式正确呈现。
说明
我使用 Windows 10 中的Character Map
程序复制该符号并将其粘贴到我的 python 环境中。环境可能会在右侧截断它,因为它是一个宽字符,而环境似乎不喜欢这样。 (我移动光标以使其呈现全角。)
然后,我通过使用默认的 utf-8 编码对字符进行编码来获取代码点的十六进制转储,结果是 \xee\x80\xa1
作为 bytes
对象。
接下来,我将数据打印为字符串,以向您展示一个常见错误,以及如果您尝试打印这些字节的字符串,将会打印什么。
然后,我打印了 b'\xee\x80\xa1'
,这就是您在软件中实际使用该符号的方式。
关于python - 私有(private) Unicode 字符在 Python 3 解释器中显示不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41447166/