用于在Python中打印unicode字符的For循环
我用Python做了一个基本的for循环,因为我想用unicode表示法打印所有可能的字符用于在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循环生
for i in range(1000,1100):
print('\\u'+str(i))
它会打印以下内容
...
\u1077
\u1078
\u1079
等等
我不明白为什么循环会打印这样的字符串,但如果我只是执行:
print('\u0227')
它会打印出“ȧ”
我不理解从for循环打印为串联字符串与仅通过调用print并键入unicode表示来打印之间的区别。此外,for循环生成的字符串似乎还需要一个反斜杠来转义
我调用了type function,在这两种情况下,它都表示这些是字符串,但只是想确认一下,因为这种行为。代码中所谓的字符串文本在变成字符串之前会被处理。字符串中的反斜杠表示后面必须进行特殊解释的内容
- 如果后跟第二个反斜杠,则最后一个字符串将呈现为
只包含一个反斜杠。因此,字符串文字
变为 字符串'\\u'
\u
- 如果后跟一个
和四个十六进制数字,则表示整个序列 文字中的(包括反斜杠)变为字符串中表示的unicode字符:文字u
变为字符串'\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'))
。