从JSON文件中读取阿拉伯语

前端之家收集整理的这篇文章主要介绍了从JSON文件中读取阿拉伯语前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想在Python中读取包含阿拉伯文本的JSON文件,但阿拉伯文本显示如下:

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

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

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

x是包含来自JSON文件的阿拉伯值的参数.
我期待得到这句话:但是我得到了ط§ظ“طظژظژط¹ظژط§ط¯ظژط©ظگظ”ظژظٹظگط³ظژطھظŒططظظ“طظژطμظŒ”ظژط¹ظژظ“ظ‰ظژظbutكككك …ط§ظژظ“ظظظظژظظظظژظظژظظژظظژظظژظظژظظژظظژظظژظظژظظژظظژظ£££ظظظظظظظظظ±±±±±±±±±…..ظ±± ظژط§ظ†ظژظ…ظ“ظƒ

最佳答案
您没有提到是否使用Python 3或2.在Python 3中,字符串是unicode,默认情况下.

如果您使用Python 2,请使用编解码器:

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相关文章