2014-10-20 78 views

回答

2

您可以使用ord返回十進制,然後使用binhex分別表示二進制或十六進制的字符。

>>> [bin(ord(i)) for i in test_str] 
['0b1100001', '0b1100010', '0b1100011'] 

>>> [hex(ord(i)) for i in test_str] 
['0x61', '0x62', '0x63'] 
+0

+1,因爲這實際上是OP想要的......但是我認爲它很痛,因爲它妨礙了對錶示與身份的理解,以及python字符串只是引擎蓋下的字節串(至少是2倍) – 2014-10-20 14:52:42

0

如何回合剛剛

test_str = "abc" 
test_str[0] == "\x61" == chr(0x61) == unichr(0x61) 

因爲Python中的字符串只是字節(至少在python2)

+0

其實我只是想將temp_str [0]轉換爲int,有沒有簡單的方法? – winterma 2014-10-20 15:03:48

+0

yes'ord(a_character)'將返回其整數值... – 2014-10-20 15:04:50

+0

我明白了,謝謝@Joran! – winterma 2014-10-20 15:12:41