gpt4 book ai didi

python - 从 JSON 文件中读取阿拉伯语

转载 作者:太空狗 更新时间:2023-10-30 01:20:13 25 4
gpt4 key购买 nike

我想用 Python 读取包含阿拉伯文本的 JSON 文件,但阿拉伯文本看起来像这样:

ط§ظ„ط³ظژط¹ظژط§ط¯ظژط©ظگ ظ„ظژظٹظگط³ظژطھظŒ ط§ظ„ط­ظژطµظŒظˆظژظ„ظژ ط¹ظژظ„ظ‰ظژ 
ظ…ط§ظژ ظ„ط§ظ†ظژظ…ظ„ظگظƒظژ ط¨ظژظ„ ظ‡ظگظٹظژ ط£ظ†ظژ ظ†ظژظپظ‡ظŒظ…ظژ
ظˆظژظ†ظگط¯ط±ظژظƒظژ ظ‚ظژظٹظگظ…ط©ظڈ ظ…ظژط§ظ†ظژظ…ظ„ظƒ

我怎样才能读出正确的阿拉伯字母?

import sys
non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd)
print(x.translate(non_bmp_map))

x 是包含来自 JSON 文件的阿拉伯语值的参数。I expected to get this sentence :السَعَادَةِ لَيِسَتٌ الحَصٌوَلَ عَلىَ ماَ لانَملِكَ بَل هِيَ أنَ نَفهٌمَ وَنِدرَكَ قَيِمةُ مَانَملك but I get ط§ظ„ط³ظژط¹ظژط§ط¯ظژط©ظگ ظ„ظژظٹظگط³ظژطھظŒ ط§ظ„طظژطµظŒظˆظژظ„ظژ ط¹ظژظ„ظ‰ظژ ظ …ط ظ带

最佳答案

您没有提到您使用的是 Python 3 还是 2。在 Python 3 中,字符串默认为 unicode。

如果您使用 Python 2,请使用 codec:

import codecs
f = codecs.open('unicode.rst', encoding='utf-8')
for line in f:
print repr(line)

引用:Unicode How-to


但是,您的输入数据可能未正确编码。在这种情况下,您可以尝试使用 ftfy package .

ftfy 实现了几种启发式方法来修复损坏/不一致的 unicode 编码。来自文档:

>>> from ftfy import fix_encoding
>>> print(fix_encoding("(ง'⌣')ง"))
(ง'⌣')ง

关于python - 从 JSON 文件中读取阿拉伯语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41115536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com