декодирование и кодирование иврита в Python

Я пытаюсь кодировать и декодировать ивритскую строку "שלום". Однако после кодирования я получаю тарабарщину:

>>> word = "שלום"
>>> word = word.decode('UTF-8')
>>> word
u'\u05e9\u05dc\u05d5\u05dd'
>>> print word
שלום
>>> word = word.encode('UTF-8')
>>> word
'\xd7\xa9\xd7\x9c\xd7\x95\xd7\x9d'
>>> print word
׳©׳׳•׳

Как мне это сделать?

Благодарю.

Ответы

Ответ 1

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-

чтобы ваша среда знала, что вы используете UTF-8. Вы можете обнаружить, что этот терминал ожидает от вас ASCII, поэтому убедитесь, что он поддерживает UTF-8.

>>> word = "שלום"
>>> word
'\xd7\xa9\xd7\x9c\xd7\x95\xd7\x9d'
>>> print word
שלום
>>> word = word.decode('UTF-8')
>>> word
u'\u05e9\u05dc\u05d5\u05dd'
>>> print word
שלום
>>> word = word.encode('UTF-8')
>>> word
'\xd7\xa9\xd7\x9c\xd7\x95\xd7\x9d'
>>> print word
שלום
>>>