我用 Python 创建了一个文本,它在终端中以其真实形状正确显示。但是,当我使用 Telegram API 将其发送到我的频道时,空白大小未正确显示。这是终端中文本的图片,另一张是 Telegram 中的。
我使用这个Python代码来生成结果:
for name, price in prices:
text += f"{name:<20} {price}\n"
print(text)
我尝试使用U+00A0字符,但没有解决问题。
终端通常使用等宽字体,其中每个字符占用相同的空间,而 Telegram 使用可变宽度字体,其中调整字符大小以提高可读性。例如,您可以看到
Mill
在示例中如何与 Gol
占据相同的空间,即使它少了一个字符。
您可以在电报机器人中使用代码块的 markdown 语法(用 ``` 括起来)来达到相同的效果。