最简单的例子是:
city = "المكلا"
print(city)
我期望输出是:
المكلا
但实际上输出的是反向字符串(字母看起来有点不同,因为它们有开始、中间和结束形式)。我无法将其粘贴到此处,因为复制粘贴会再次更正字符串的顺序。
如何将阿拉伯语正确打印到 Linux 终端?周围的文本是从左到右 (LTR),只有这一行需要从右到左 (RTL)。是否有 UFT-8 字符可以告诉终端?
最佳答案
创建一个带有 RTL 字符的字符串:
rtl = u'\u200f'
Python 3 默认使用 UTF 字符串,因此在这种情况下字符串前面的“u”是不必要的。
如果问题实际上是终端无法正确呈现,您可以手动反转字符串。
test = 'Hello world'
test = test[::-1]
# test == 'dlroW olleH'
还有 python-bidi library这可能会有所帮助。 ( source )
关于python - 使用 Python 将阿拉伯语或任何从右到左的书写系统字符串打印到 Linux 终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33700735/