我知道我可以打印以下内容:
print u'\u2550'
如何使用.format
字符串方法执行此操作?例如:
for i in range(0x2550, 0x257F):
s = u'\u{04X}'.format(i) # of course this is a syntax error
答案 0 :(得分:1)
您正在寻找unichr()
function:
s = u'{}'.format(unichr(i))
或只是简单
s = unichr(i)
unichr(integer)
为给定的代码点生成一个unicode字符。
\uxxxx
语法仅适用于字符串文字;这些是在运行代码之前由Python编译器处理的。
演示:
>>> for i in range(0x2550, 0x257F):
... print unichr(i)
...
═
║
╒
╓
╔
╕
╖
# etc.
如果您的字符串中有文字\uxxxx
序列,您仍然可以使用unicode_escape
编解码器将Python转换为Unicode字符:
>>> print u'\\u2550'
\u2550
>>> print u'\\u2550'.decode('unicode_escape')
═
>>> print '\\u2550'.decode('unicode_escape')
═
>>> '\\u2550'.decode('unicode_escape')
u'\u2550'
在Python 2中,您可以在字节字符串和unicode
字符串值上使用此编解码器;输出始终为unicode
字符串。