次のような文字とバイトが混在するリストがあります。
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)
たまたま 2 バイトの要素が配列にあるため、次のエラーがスローされます。
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 に変換するにはどうすればよいですか?