如何在 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())
我有一个值列表如下:
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())