как конвертировать 8-битный иврит в UTF-8 в Python - PullRequest
3 голосов
/ 13 февраля 2011

У меня есть данные на иврите, так что \ xe0 - это еврейский алеф, и хотите конвертировать его в utf-8

Ответы [ 2 ]

7 голосов
/ 13 февраля 2011

Как правило, в Python, если у вас есть байтовая строка, вам нужно сначала использовать decode, чтобы преобразовать ее во внутреннее представление, затем вы можете закодировать ее в UTF-8.Конечно, вам нужно знать кодировку \xe0, чтобы это работало (я предполагаю, что ваш персонаж закодирован с использованием ISO-8859-8):

'\xe0'.decode('iso-8859-8').encode('utf-8')

РЕДАКТИРОВАТЬ: Aпримечание:

Убедитесь, что вы используете внутреннее представление в вашей программе как можно дольше.В общем: декодировать первым (на входе), кодировать последним (на выходе).

0 голосов
/ 13 февраля 2011

Вы можете использовать вызов decode для преобразования его в юникод

y = x.decode('iso8859-8')

, где x - ваша 8-битная строка, а y - строка в кодировке Unicode. затем вы можете преобразовать его в utf-8, используя encode call

z = y.encode('utf-8')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...