2013-02-12 3 views
2

Я работаю над арабским пакетом light stemmer в python
Я хочу преобразовать результат из любой операции с Unicode на арабские буквы.Как я могу преобразовать арабский Unicode

Мой код:

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

Я хочу, чтобы отобразить "العربية" не это Unicode

+1

Правильное отображение арабского языка в терминале может зависеть от типов кодирования, поддерживаемых вашим терминалом. Общий принцип заключается в том, что вам нужно кодировать Unicode для конкретной кодировки, например. UTF-8. Пример кода: 'print text.encode ('utf-8')' – bernie

+0

см. Http://pyright.blogspot.ie/2009/08/unicode-arabic.html –

+0

Просто обратите внимание, что образец кода на этом веб-сайте находится в Python 3, который может вводить в заблуждение как Unicode, обрабатывается по-разному в 3.x по сравнению с тем, как он обрабатывается в 2.x – bernie

ответ

1

Вы можете конвертировать юникод строки в другой кодировке, используя функцию кодирования() следующим образом:

text.encode('utf8') 

Here - это список возможных кодировок в Python 2.7.

0

Вы видите u'\u0627\u0644\u0639\u0631\u0628\u064a\u0629' вместо «العربية», потому что представление для строк в Юникоде должно отображаться даже на 7-битных терминалах.

Чтобы увидеть фактические скрипты вместо unicode, сделайте либо print _ после вашего звонка strip_tashkeel(), либо сделайте print strip_tashkeel(text) напрямую.

+0

Я попробовал его 'print strip_tashkeel (text)', но он появляется 'ÇáúÚóÑóÈöíøÉõ' :( –

+0

как сделать python undersatnd это 'ÇáúÚóÑóÈöíøÉõ'? –

+0

Я думаю, что проблема в кодировке оболочки, но как изменить кодировку по умолчанию в Windows 7 python2.7? –

Смежные вопросы