2011-08-09 163 views
5

十六進制字符串'\xd3'也可以表示爲:Ó在python中將十六進制字符轉換爲Unicode字符

我發現得到十六進制字符串到控制檯的字符表示的最簡單的方法是:

print unichr(ord('\xd3')) 

或英文,十六進制字符串轉換爲數字,則該數字轉換爲unicode代碼點,然後最終輸出到屏幕上。這似乎是一個額外的步驟。有更容易的方法嗎?

回答

8
print u'\xd3' 

是你所要做的。你只需要以某種方式告訴Python它是一個unicode文字;領先的u這樣做。它甚至可以用於多個角色。

如果你談論的不是文字,而是一個變量:

codepoints = '\xd3\xd3' 
print codepoints.decode("latin-1") 

編輯:指定特定的編碼時,如果它是你的終端編碼兼容print ING將無法正常工作,所以才讓printencode(sys.stdout.encoding)自動。謝謝@ThomasK。

+0

但是,如果你有一個由代碼點組成的字符串,你會怎麼做?你將如何將字符串轉換爲實際的字符串表示形式?你是一個功能嗎?我們可以寫'你(some_string)'嗎? – Geo

+0

@Geo:'u'不是函數,它是字符串文字語法的一部分。但是,什麼是由代碼點組成的字符串? –

+0

@Thomas我編輯了我的答案來掩蓋這一點。 – agf

相關問題