tob*_*n9e 5 python linux right-to-left
非常简单的例子是:
\n\ncity = "\xe2\x80\x8f\xd8\xa7\xd9\x84\xd9\x85\xd9\x83\xd9\x84\xd8\xa7\xe2\x80\x8e"\nprint(city)\nRun Code Online (Sandbox Code Playgroud)\n\n我期望输出是:
\n\n\xe2\x80\x8f\xd8\xa7\xd9\x84\xd9\x85\xd9\x83\xd9\x84\xd8\xa7\xe2\x80\x8e\nRun Code Online (Sandbox Code Playgroud)\n\n但实际上输出是相反的字符串(字母看起来有点不同,因为它们有开始、中间和结束形式)。我无法将其粘贴到此处,因为复制粘贴会再次更正字符串的顺序。
\n\n如何在 Linux 终端上正确打印阿拉伯语?周围的文本是从左到右 (LTR),只有这一行需要是从右到左 (RTL)。是否有 UFT-8 字符可以告诉终端这一点?
\n要创建带有 RTL 字符的字符串:
rtl = u'\u200f'
Run Code Online (Sandbox Code Playgroud)
Python 3 默认使用 UTF 字符串,因此在这种情况下,字符串前面的“u”是不必要的。
如果问题实际上是终端无法正确呈现,您可以手动反转字符串。
test = 'Hello world'
test = test[::-1]
# test == 'dlroW olleH'
Run Code Online (Sandbox Code Playgroud)
还有python-bidi 库可能会有所帮助。(来源)
| 归档时间: |
|
| 查看次数: |
3103 次 |
| 最近记录: |