我有一个
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)
我找到了一个可以转换此文本的网站:
最佳答案 您似乎意外地将输入解码为Windows-1252.
>>> "Óæí Ïæã ÈíåÞí".encode('cp1252').decode('cp1256')
'سوي دوم بيهقي'