2016-08-09 7 views
1

日本語の漢字楼のJISエンコーディングである "\ x98 \ x4F"という16進文字列があります。
どのように私は漢字をエンコードから始まるpythonで印刷できますか?
は私が 16進文字列から文字(jisエンコード)

print b'\x98\x4F'.encode('euc_jp') 

成功せず

... 任意の手掛かりを試してみましたか? shift-jisエンコーディングでのPython 2使用 str.decode()

よろしく

答えて

1

>>> s = "\x98\x4F".decode('shift-jis') 
>>> s 
u'\u697c' 
>>> print s 
楼 

このPythonのUnicode文字列に JIS符号化データを復号します。その文字列を表示すると、デフォルトのエンコーディングで必要な文字が表示されます。 Pythonの3では

あなたはbでエンコードされた文字列の前に付けることができます。

>>> s = b"\x98\x4F".decode('shift-jis') 
>>> s 
'楼' 
>>> print(s) 
楼 

(これはまた、Pythonの2で動作します)

+0

は、Python 3.4のためにこれを追加することはできますか? http://stackoverflow.com/questions/31235201/python-3-4-hex-to-japanese-characters – Raskayu

+0

@Raskayu:OPはPython 2を使用していますが、すでにPython 3のコードを追加しています。 – mhawke

関連する問題