web-dev-qa-db-ja.com

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
׳©׳׳•׳

どのように適切に行うべきですか?

ありがとう。

20
user1767774

環境(シェルまたはスクリプト)で適切なエンコーディングを使用していることを確認する必要があります。スクリプトを使用している場合は、次を含めます。

#!/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
שלום
>>>
19
jonhurlock