2010-07-31 3 views
2

Я использую python для S60. Я хочу использовать строку на иврите, чтобы представить их в графическом интерфейсе и отправить их в SMS-сообщении. кажется, что PythonScriptShell не принимают такие выражения, например:строки на иврите в python для s60

u"אבגדה" 

что я могу сделать? благодаря

развитие ситуации: я добавил строку:

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

в качестве первой строки в исходном файле и в Notepad ++ я выбрал: Кодирование >> Преобразовать в utf8.

Теперь графический интерфейс появляется на иврите, но когда я выбрал параметр, значение выбора не может сравниваться со строкой на иврите в коде (возможно) и ответа нет.

На PythonScriptShell появляется предупреждение:

Unicode равное сравнение не удалось преобразовать оба аргумента в Unicode - интерпретировать их как неравны.

Помогите мне, пожалуйста.

+0

> Не принимайте такие выражения - не могли бы вы объяснить, что вы имеете в виду? Если это дает вам сообщение об ошибке, отправьте сообщение. –

+0

сообщение об ошибке на экране оболочки: «SyntaxError: символ не ASCII« \ xe1 »в файле ... в строке ... но без кодировки –

+0

О, так что у вас есть' u "אבגדה" 'в источнике файл? Или вы входите в интерактивную оболочку? –

ответ

0

конвертировать ваши слова в символы Юникода с помощью unichr например unichr (1507) для полукокса ף

относится к десятичным значениям в этой таблице: http://www.ssec.wisc.edu/~tomw/java/unicode.html#x0590

+0

Я не понял. У меня есть строка на иврите, что делать дальше? –

+0

искать каждого символа и печатать их с помощью unichr() –

+0

Я не думаю, что это делает огромная разница по сравнению с литералом Unicode как 'u" אבגדה "': Оба результата приводятся в строках Unicode Python. Проблема должна быть на стороне S60. – Philipp

1

Я просто проверял это в оба Bluetooth и on- телефонные консоли с PyS60 2.0 и unicode unicode обрабатывались без исключений.

Если у вас есть эта строка в файле, а не передача ее в консоли, ошибка вызвана отсутствием спецификации кодировки в файле.

Добавить # -*- coding: utf-8 -*- в первую очередь.

+0

Я добавил эту строку точно и получил сообщение об ошибке: «UnicodeDecodeError: кодек« utf8 »не может декодировать позицию байтов 0-2: неверные данные. –

+0

@Day_Dreaner ー тогда, очевидно, вам нужно сохранить файл в utf-8 или отредактировать заголовок, чтобы он соответствовал кодировке w/e, которую использует ваш редактор. –

+0

Как сохранить файл в utf-8? Я использую npp. –