2013-02-12 360 views
2

我正在研究python中的阿拉伯語光柵控制器包
我想將任何操作的結果從Unicode轉換爲阿拉伯文字母。我如何轉換阿拉伯語的Unicode

我的代碼:

import tashaphyne 
form tashaphyne import * 
>>> text = u"الْعَرَبِيّةُ" 
>>> strip_tashkeel(text) 

我希望它顯示 「العربية」 不是它的Unicode

+1

在終端中正確顯示阿拉伯語可以取決於您的終端支持的編碼類型。一般原則是你需要將Unicode編碼成特定的編碼,例如UTF-8。代碼示例:'print text.encode('utf-8')' – bernie 2013-02-12 20:13:20

+0

請參閱http://pyright.blogspot.ie/2009/08/unicode-arabic.html – 2013-02-12 20:30:19

+0

只需注意該網站上的代碼示例位於可能會混淆爲Unicode的Python 3在3.x中的處理方式與2.x中的處理方式相比有所不同2.x – bernie 2013-02-12 20:32:35

回答

1

可以使用Unicode字符串轉換爲任何其他編碼的編碼()函數,就像這樣:

text.encode('utf8') 

Here是Python 2.7中可能的編碼列表。

0

您看到u'\u0627\u0644\u0639\u0631\u0628\u064a\u0629'而不是「العربية」,因爲repr() unicode字符串的表示法意味着甚至可以在7位終端上顯示。

若要查看實際腳本而不是unicode,請在致電strip_tashkeel()後執行print _,或直接執行print strip_tashkeel(text)

+0

我試過了'打印strip_tashkeel(文本)',但它看起來'ÇáúÚóÑóÈöíøÉõ':( – 2013-02-12 21:10:07

+0

如何使python伸縮這個'ÇúúÚóÑóÈöíøÉõ'? – 2013-02-13 14:52:39

+0

我認爲在shell編碼的問題,但如何改變在Windows 7 python2.7的默認編碼? – 2013-02-13 18:35:29