将一串 bytearray 转换为 bytearray
convert a string of bytearray to a bytearray
我有一个 bytearray 字符串,我想在 python 3
中将其转换为 bytearray
例如,
x = "\x01\x02\x03\x04"
我从服务器获取到x变量,它是一个字符串,但内容是字节数组,如何将它转换成字节数组。真的坚持了下来。谢谢
您可以将字符串 encode
转换为 bytes
对象并将其转换为 bytearray
,或者直接将其转换为某种编码。
x = "\x01\x02\x03\x04" # type: str
y = x.encode() # type: bytes
a = bytearray(x.encode()) # type: bytearray
b = bytearray(x, 'utf-8') # type: bytearray
注意bytearray(:str, ...)
is specified to use str.encode
,所以后面两个实际上是一样的。主要区别在于您必须明确指定编码。
您可以使用ord将字符串中的每个字节转换为整数。 bytearray
接受整数的可迭代作为参数,所以
x = "\x01\x02\x03\x04"
b = bytearray(ord(c) for c in x) # bytearray(b'\x01\x02\x03\x04')
试试这个:
x = bytes(x, 'utf-8')
现在 type(x) 是字节。
我有一个 bytearray 字符串,我想在 python 3
中将其转换为 bytearray例如,
x = "\x01\x02\x03\x04"
我从服务器获取到x变量,它是一个字符串,但内容是字节数组,如何将它转换成字节数组。真的坚持了下来。谢谢
您可以将字符串 encode
转换为 bytes
对象并将其转换为 bytearray
,或者直接将其转换为某种编码。
x = "\x01\x02\x03\x04" # type: str
y = x.encode() # type: bytes
a = bytearray(x.encode()) # type: bytearray
b = bytearray(x, 'utf-8') # type: bytearray
注意bytearray(:str, ...)
is specified to use str.encode
,所以后面两个实际上是一样的。主要区别在于您必须明确指定编码。
您可以使用ord将字符串中的每个字节转换为整数。 bytearray
接受整数的可迭代作为参数,所以
x = "\x01\x02\x03\x04"
b = bytearray(ord(c) for c in x) # bytearray(b'\x01\x02\x03\x04')
试试这个:
x = bytes(x, 'utf-8')
现在 type(x) 是字节。