加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

从JSON文件中读取阿拉伯语

发布时间:2020-12-16 22:40:55 所属栏目:Python 来源:网络整理
导读:我想在Python中读取包含阿拉伯文本的JSON文件,但阿拉伯文本显示如下: ?§???3???1???§?ˉ?????? ?????????3?????? ?§???-???μ?????????? ?1?????‰?? ?…?§?? ???§?????…???????? ?¨???? ???????? ?£???? ???????????…?? ?????????ˉ?±?????? ???

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

?§???3???1???§?ˉ?????? ?????????3?????? ?§???-???μ?????????? ?1?????‰?? 
?…?§?? ???§?????…???????? ?¨???? ???????? ?£???? ???????????…?? 
?????????ˉ?±?????? ?????????…???? ?…???§?????…???? 

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

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

x是包含来自JSON文件的阿拉伯值的参数.
我期待得到这句话:但是我得到了?§?“??????1???§?ˉ???????”???????3??????????“????μ??”???1???“?‰???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("(à??'a?£')à??"))
(?'?')?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读