我正在尝试在我正在编写的命令行程序中使用一些简单的 unicode 字符,但是将这些内容绘制到表格中变得很困难,因为 Python 似乎将单字符符号视为多字符字符串。
例如,如果我尝试 print(u"\u2714".encode("utf-8"))
我会看到 unicode 复选标记。但是,如果我尝试向该字符添加一些填充(就像表格结构中的那样),Python 似乎会将这个单字符字符串解释为 3 个字符的字符串。所有这三行都打印相同的内容:
print("|{:1}|".format(u"\u2714".encode("utf-8")))
print("|{:2}|".format(u"\u2714".encode("utf-8")))
print("|{:3}|".format(u"\u2714".encode("utf-8")))
现在我想我明白了为什么会发生这种情况:它是一个多字节字符串。我的问题是,如何让 Python 适本地填充这个字符串?
将格式字符串设为 unicode:
from __future__ import print_function
print(u"|{:1}|".format(u"\u2714"))
print(u"|{:2}|".format(u"\u2714"))
print(u"|{:3}|".format(u"\u2714"))
输出:
|✔|
|✔ |
|✔ |
我是一名优秀的程序员,十分优秀!