Python 将字符串转换为字节而不更改值
Python convert string to bytes without changing values
我有一个字符串,例如:
a = '031000060002043DCCCCCD213B'
我想得到一个像这样的字节:
b'\x03\x10\x00\x06\x00\x02\x04\x3D\xCC\xCC\xCD\x213B'
(我不想拆分最后四个字符)
但是像字符串 '3d'
和 '21'
总是由于 ascii 转换为 b'='
和 b'!'
,我不想要的,如何解决它?
提前致谢!!
bytes
对象为此提供了一个方便的方法,.fromhex
,所以你可以只使用:
>>> bytes.fromhex(a[:-4]) + a[-4:].encode()
b'\x03\x10\x00\x06\x00\x02\x04=\xcc\xcc\xcd213B'
我有一个字符串,例如:
a = '031000060002043DCCCCCD213B'
我想得到一个像这样的字节:
b'\x03\x10\x00\x06\x00\x02\x04\x3D\xCC\xCC\xCD\x213B'
(我不想拆分最后四个字符)
但是像字符串 '3d'
和 '21'
总是由于 ascii 转换为 b'='
和 b'!'
,我不想要的,如何解决它?
提前致谢!!
bytes
对象为此提供了一个方便的方法,.fromhex
,所以你可以只使用:
>>> bytes.fromhex(a[:-4]) + a[-4:].encode()
b'\x03\x10\x00\x06\x00\x02\x04=\xcc\xcc\xcd213B'