Moh*_* Sy 6 python arabic-support
我正在使用Python 2.7,并且尝试打印这样的阿拉伯字符串
print "??? ?????? ??? ???????"
Run Code Online (Sandbox Code Playgroud)
它给出以下输出:
?°?‡?¨ ?§?„?·?§?„?¨ ?§?„?‰ ?§?„?…?¯?±?³?©
Run Code Online (Sandbox Code Playgroud)
目的是正确打印文本,而不是如何打印每一行。那么,如何才能以原始格式正确打印文本文件的字符串或内容?喜欢:
??? ?????? ??? ???????
Run Code Online (Sandbox Code Playgroud)
Jal*_*avi 13
通过此模块,您可以纠正文本形状的方向。只需安装 pips 并使用它。
# install: pip install --upgrade arabic-reshaper
import arabic_reshaper
# install: pip install python-bidi
from bidi.algorithm import get_display
text = "??? ?????? ??? ???????"
reshaped_text = arabic_reshaper.reshape(text) # correct its shape
bidi_text = get_display(reshaped_text) # correct its direction
Run Code Online (Sandbox Code Playgroud)
小智 6
以下代码有效:
\nimport arabic_reshaper\n\ntext_to_be_reshaped = '\xd8\xa7\xd9\x84\xd9\x84\xd8\xba\xd8\xa9 \xd8\xa7\xd9\x84\xd8\xb9\xd8\xb1\xd8\xa8\xd9\x8a\xd8\xa9 \xd8\xb1\xd8\xa7\xd8\xa6\xd8\xb9\xd8\xa9'\n\nreshaped_text = arabic_reshaper.reshape(text_to_be_reshaped)\n\nrev_text = reshaped_text[::-1] # slice backwards \n\nprint(rev_text)\nRun Code Online (Sandbox Code Playgroud)\n
尝试这个:
\n\nprint u"\xd8\xb0\xd9\x87\xd8\xa8 \xd8\xa7\xd9\x84\xd8\xb7\xd8\xa7\xd9\x84\xd8\xa8 \xd8\xa7\xd9\x84\xd9\x89 \xd8\xa7\xd9\x84\xd9\x85\xd8\xaf\xd8\xb1\xd8\xb3\xd8\xa9"\nRun Code Online (Sandbox Code Playgroud)\n\n输出:
\n\n\xd8\xb0\xd9\x87\xd8\xa8 \xd8\xa7\xd9\x84\xd8\xb7\xd8\xa7\xd9\x84\xd8\xa8 \xd8\xa7\xd9\x84\xd9\x89 \xd8\xa7\xd9\x84\xd9\x85\xd8\xaf\xd8\xb1\xd8\xb3\xd8\xa9\nRun Code Online (Sandbox Code Playgroud)\n\n演示: https: //repl.it/EuHM/0
\n\n默认的Python2.7字符串使用utf-8字符集。而且阿拉伯语不包含在 utf-8 中。因此,如果您在其前面加上uthen ,它将将该字符串视为 unicode 字符串。
| 归档时间: |
|
| 查看次数: |
9477 次 |
| 最近记录: |