如何在 Python 3.7.9 中将字符串视为字节?

How to Treat Strings as Bytes in Python 3.7.9?

我有一个值列表如下:

byte_values = ["\x00", "\x02", ... ]

它们是字节值,我想将它们转换为 ASCII。但是,因为它们前面没有 b,所以 Python 将它们视为字符串,解码方法不起作用。有没有办法让 Python 将这些字符串视为字节并将它们转换为有意义的实际字符串?

尝试 str.encode:

>>> byte_values = ["\x00", "\x02", "..." ]
>>> [b.encode() for b in byte_values]
[b'\x00', b'\x02', b'...']

对于替代方法,您也可以为此使用 map 内置函数:

>>> byte_values = list(map(str.encode, byte_values))
>>> byte_values
[b'\x00', b'\x02', b'...']

您需要对字符串进行编码。

byte_values = ["\x00", "\x02", "\x04"]

for string_byte in byte_values:
    print(string_byte.encode())