我有一個列表,它是字符數,字節的混合物,它看起來像這樣:如何將字符和字節列表轉換爲純字節列表?
myData = ['a', '\x65', 'B', '\x66\x69', 'C']
我想這個列表轉換成字節數組,所以這樣的:
myByteArray = ['\x61' , '\x65', '\x42', '\x66', '\x69', '\x43']
我已經嘗試到目前爲止是對myData的簡單的顯示 -
myData = ['a', '\x65', 'B', '\x66\x69', 'C']
print " ".join(hex(ord(n)) for n in myData)
由於存在恰好是兩個字節的數組中的元素,它引發此錯誤:
Traceback (most recent call last):
File "./test.py", line 3, in <module>
print " ".join(hex(ord(n)) for n in myData)
File "./test.py", line 3, in <genexpr>
print " ".join(hex(ord(n)) for n in myData)
TypeError: ord() expected a character, but string of length 2 found
如何將我的原始列表myData轉換爲字節數組myByteArray?
有沒有辦法讓Python來描述一個普通的ASCII字符作爲轉義序列,除非你把它變成等價的字符串。 ''a''和''\ x61''是相同的字符,並且Python將始終將其打印爲''a''。 –