2017-01-15 76 views
1

如何使用Python將unicode(中文字符)轉換爲十六進制?我一直在尋找幾天,但沒有運氣。Python - 如何將unicode轉換爲十六進制

例子:

轉換前:耳環測試

轉換後:8033 73AF 6D4B 8BD5

我得到使用下面的Unicode在線轉換工具結果: http://r12a.github.io/apps/conversion/

但我沒有設法得到它在我的Python代碼。

我試過使用「binascii.hexlify(data)」,但結果是「e880b3e78eafe6b58be8af95」。我沒有設法得到4位數的十六進制數。

我的代碼:

s1 = "耳環測試" 
s2 = binascii.hexlify(s1) 
print s2 # Result: e880b3e78eafe6b58be8af95 

我使用Python 2.7(谷歌應用程序引擎)。如何將「e880b3e78eafe6b58be8af95」轉換爲「8033 73AF 6D4B 8BD5」?

有誰知道如何解決這個問題?

謝謝!

喬爾

回答

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

相關問題