为了账号安全,请及时绑定邮箱和手机立即绑定

从格式化字符串打印 unicode

从格式化字符串打印 unicode

慕姐8265434 2021-09-01 21:10:10
如何从格式化字符串打印 unicode 字符?使用以下示例,我有一个错误(python3): python -c 'print(u"\u{}".format("2665"))'  File "<string>", line 1SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \uXXXX escape
查看完整描述

2 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

"\u{}"抛出该错误,因为字符串表示不应该与变量一起使用;它是一个字面的、直接的值。就像您不能做并期望在和之间有一个制表符一样。\unnnnx = 't'; print ('a\{}b'.format(x))ab

要打印任何 Unicode 字符,请立即将其文字代码输入字符串本身:

 print ('Hello \u2665 world')

结果:

Hello ♥ world

– 请注意,您不需要u字符串本身的前缀;这是 Python 2.x'ism – 或者,如果您想在变量中提供字符值:

print ('Hello {:c} world'.format(0x2665))

其中(1):c强制值的字符表示,以及(2)您需要指出值本身是十六进制的。(作为字符串表示是总是以十六进制)。\unnnn


查看完整回答
反对 回复 2021-09-01
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

这有点尴尬,但您可以使用原始字符串文字,编码,然后使用unicode_escape编码解码:


print(r"\u{}".format("2665").encode().decode('unicode_escape'))

#  ♥


查看完整回答
反对 回复 2021-09-01
  • 2 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信