2017-01-15 12 views
1

ユニコード(漢字)をPythonで16進数に変換するにはどうすればよいですか?私は何日かの間、周りを探索してきましたが、運はありません。Python - ユニコードを16進数に変換する方法

例:変換する前に

:耳环変換した後

测试:8033 73AF 6D4B 8BD5

私は、以下のユニコードオンラインコンバータツールを使用して結果を得る: http://r12a.github.io/apps/conversion/

しかし、私はそれを私のpythonコードで取得することはできませんでした。

"binascii.hexlify(data)"を使用しようとしましたが、結果は "e880b3e78eafe6b58be8af95"です。私は4桁の16進数を得ることはできませんでした。

私のコード:

s1 = "耳环测试" 
s2 = binascii.hexlify(s1) 
print s2 # Result: e880b3e78eafe6b58be8af95 

私は、Python 2.7(Google App Engineの)を使用しています。 「e880b3e78eafe6b58be8af95」を「8033 73AF 6D4B 8BD5」に変換するにはどうすればよいですか?

誰もこれを解決する方法を知っていますか?

ありがとうございました!ジョエル

答えて

0

8033 73AF 6D4B 8BD5

はUTF-16コード・ポイントは、PythonはあなたにUTF-8を与えています。

+0

ありがとうUriel!あなたはUTF-8の代わりにUTF-16をどうやって手に入れますか? –

+0

私はそのコードを実行する方法はわかりませんが、必要な文字列をファイルに保存し、 'open(file、encoding =" utf-16-le ")'のように開き、読み込み文字列に '.encode( 'utf-16')'を使用します。 – Uriel

関連する問題