2017-01-15 6 views
1

Как преобразовать Unicode (китайские символы) в шестнадцатеричный с помощью Python? Я искал несколько дней, но не повезло.Python - Как преобразовать unicode в шестнадцатеричный

Пример:

Перед обращенным: 耳环 测试

После обращенного: 8033 73AF 6D4B 8BD5

я получаю результат, используя следующий Юникода онлайн инструмент конвертера: http://r12a.github.io/apps/conversion/

Но мне не удалось получить его в моем коде на Python.

Я попытался использовать «binascii.hexlify (data)», но результатом является «e880b3e78eafe6b58be8af95». Мне не удалось получить четыре цифры в шестнадцатеричном формате.

мой код:

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

Я использую Python 2.7 (Google App Engine). Как преобразовать "e880b3e78eafe6b58be8af95" в "8033 73AF 6D4B 8BD5"?

Кто-нибудь знает, как это решить?

Спасибо!

Joel

ответ

0

8033 73AF 6D4B 8BD5 являются UTF-16 кодовые точки, питон дает UTF-8.

+0

Спасибо Уриэль! Вы знаете, как мне получить UTF-16 вместо UTF-8? –

+0

Я не знаю, как это сделать в коде, но вы можете сохранить нужную строку в файле и открыть ее как 'open (file, encoding =" utf-16-le ")', затем прочитать строку и использовать '.encode ('utf-16')'. – Uriel