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

用于在Python中打印unicode字符的For循环,python,unicode,python-unicode,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循环生

我用Python做了一个基本的for循环,因为我想用unicode表示法打印所有可能的字符

for i in range(1000,1100):
    print('\\u'+str(i))
它会打印以下内容

...
\u1077
\u1078
\u1079
等等

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

print('\u0227')
它会打印出“ȧ”

我不理解从for循环打印为串联字符串与仅通过调用print并键入unicode表示来打印之间的区别。此外,for循环生成的字符串似乎还需要一个反斜杠来转义


我调用了type function,在这两种情况下,它都表示这些是字符串,但只是想确认一下,因为这种行为。

代码中所谓的字符串文本在变成字符串之前会被处理。字符串中的反斜杠表示后面必须进行特殊解释的内容

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

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


正如Paul Panzer所写,
chr()
(对于Python 3.x)或
unichr()
(对于Python 2.x)获取unicode字符的数字并返回仅包含该字符的字符串。

使用
chr
而不是
str
chr(0x227)
->
“ȧ”
要让类似的东西工作,您需要执行
打印((b'\\u%d'%i).解码('raw\u unicode\u escape'))