2017-01-15 8 views
1

Wie konvertiere ich Unicode (chinesische Zeichen) in Hexadezimal mit Python? Ich habe einige Tage gesucht, aber kein Glück.Python - Wie konvertiert man Unicode zu Hexadezimal

Beispiel:

Vor convert: 耳环 测试

Nach convert: 8033 73AF 6D4B 8BD5

ich das Ergebnis der folgenden Unicode-Online-Konverter-Tool: http://r12a.github.io/apps/conversion/

Aber ich habe es nicht geschafft, es in meinem Python-Code zu bekommen.

Ich versuchte mit "binascii.hexlify (Daten)", aber das Ergebnis ist "e880b3e78eafe6b58be8af95". Ich habe es nicht geschafft, die 4 Ziffern hexadezimal zu bekommen.

mein Code:

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

Ich verwende Python 2.7 (Google App Engine). Wie konvertiere ich "e880b3e78eafe6b58be8af95" in "8033 73AF 6D4B 8BD5"?

Weiß jemand, wie man das löst?

Vielen Dank!

Joel

Antwort

0

8033 73AF 6D4B 8BD5 sind die UTF-16-Codepunkte, Python gibt Ihnen die UTF-8.

+0

Danke Uriel! Weißt du, wie bekomme ich UTF-16 anstelle von UTF-8? –

+0

Ich weiß nicht, wie ich diesen In-Code machen könnte, aber Sie könnten den benötigten String in einer Datei speichern und öffnen wie 'open (file, encoding =" utf-16-le ")', dann lesen die Zeichenfolge und verwenden '.encode ('utf-16')'. – Uriel

Verwandte Themen