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