2016-08-09 47 views
1

Ich habe eine hexadezimale Zeichenfolge "\ x98 \ x4F", die die JIS-Codierung des japanischen Kanji 楼 ist.
Wie kann ich das Kanji in Python ausgehend von der Codierung drucken?
Ich versuchteVon hexadezimaler Zeichenfolge zu Zeichen (jis Codierung)

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

aber ohne Erfolg ... jeder Anhaltspunkt? Grüße

Antwort

1

In Python 2 Verwendung str.decode() mit dem shift-jis encoding:

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

Diese dekodiert der JIS-codierte Daten in einen Unicode-Zeichenfolge Python. Der Ausdruck dieser Zeichenfolge zeigt das erforderliche Zeichen an, sofern Ihre Standardcodierung dies ermöglicht.

In Python 3 können Sie die codierte Zeichenfolge mit b Präfix:

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

(dies wird auch in Python arbeiten 2)

+0

Kann dies für 3.4 Python hinzufügen? http://stackoverflow.com/questions/31235201/python-3-4-hex-to-japanese-characters – Raskayu

+0

@Raskayu: OP verwendet Python 2, aber ich habe bereits Code für Python 3 hinzugefügt. – mhawke