微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python阿拉伯语编码问题

我有一个 Windows-1256编码的文本.现在我想将文本从阿拉伯语(windows-1256)转换为utf-8

示范文本 :

Óæí Ïæã ÈíåÞí

结果:

سوي دوم بيهقي

我使用此代码解码和编码utf-8

# -*- coding: utf-8 -*-

data = "Óæí Ïæã ÈíåÞí"
print data.decode("windows-1256","replace")
print data.encode("windows-1256")

代码返回此结果:

أ“أ¦أ­ أڈأ¦أ£ أˆأ­أ¥أ‍أ­
Traceback (most recent call last):
  File "mohmal2.py",line 5,in <module>
    print data.encode("windows-1256")
  File "/usr/lib/python2.7/encodings/cp1256.py",line 12,in encode
    return codecs.charmap_encode(input,errors,encoding_table)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)

我找到了一个可以转换此文本的网站:

http://www.iosart.com

解决方法

您似乎意外地将输入解码为Windows-1252.

>>> "Óæí Ïæã ÈíåÞí".encode('cp1252').decode('cp1256')
'سوي دوم بيهقي'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐