Python 3:如何将bytearray转换为ASCII字符串

时间:2014-10-15 05:19:57

标签: python python-3.x bytearray

我有以下bytearray

bytearray(b'S\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00F\x00i\x00r\x00m\x00a\x00t\x00a\x00.\x00i\x00n\x00o\x00')

它应该拼出StandardFirmata.ino但是,我无法弄清楚如何解码它。

以下是我的尝试:

print(str(board.sysex_list)) #Appears to just return a string that looks identical
print(board.sysex_list.decode()) # Returns just S

有一种简单的方法吗?

2 个答案:

答案 0 :(得分:3)

编码错误。

3>> bytearray(b'S\x00t\x00a\x00n\x00d\x00a\x00r\x00d\x00F\x00i\x00r\x00m\x00a\x00t\x00a\x00.\x00i\x00n\x00o\x00').decode('utf-16le')
'StandardFirmata.ino'

但那不是ASCII。

答案 1 :(得分:1)

问题在于我没有指定解码。我所要做的就是将decode更改为decode('utf-16-le)'