用于在Python中打印unicode字符的循环

时间:2017-12-08 00:02:29

标签: python unicode python-unicode

我在Python中做了一个基本的for循环,因为我想用unicode符号打印所有可能的字符。

for i in range(1000,1100):
    print('\\u'+str(i))

并打印以下内容

...
\u1077
\u1078
\u1079

依旧......

我不明白为什么循环打印这样的字符串,但如果我只执行:

print('\u0227')

它会打印ȧ。

我不明白打印作为for循环的串联字符串与仅通过调用print并键入unicode表示来打印它之间的区别。 for循环生成的字符串似乎还需要一个反斜杠才能转义。

我调用了类型函数,在这两种情况下都说它们是字符串,但只是因为这种行为而想要确定。

1 个答案:

答案 0 :(得分:2)

代码中所谓的字符串文字在成为字符串之前会被处理。字符串中的反斜杠标记后面必须特别解释的内容。

  • 如果后跟第二个反斜杠,则渲染最终字符串 只包含一个反斜杠。因此字符串文字 '\\u'变为 字符串 \u

  • 如果后跟一个u和四个十六进制数字整个序列 文字中的(包括反斜杠)成为字符串中表示的unicode字符:Literal '\u0227'变为字符串ȧ

正如Paul Panzer已经写过的那样,chr()(对于Python 3.x)或unichr()(对于Python 2.x)取一个unicode字符的数字并返回仅包含该字符的字符串。

相关问题