2024-10-04 13:27:17 发布
网友
我正在使用python中的crc-16和libscrc库
crc-16
libscrc
我想把字符串改成字节
例如:
a = '32' b = '45' c = '54' d = '78' e = '43' f = '21'
------------------------------------编码到------------------
预期成果:
b'\x32\x45\x54\x78\x43\x21'
如果您的输入值是由a,b,c,d,e,f定义的,那么您可以给出:
a,b,c,d,e,f
print ("b'\\x" + '\\x'.join([a,b,c,d,e,f]) + "'")
这将导致:
当我尝试转换时,它会给我一个b'2ETxC!'的结果。我不确定您需要什么
b'2ETxC!'
如果您需要b'2ETxC!',那么@Arty的答案就足够了
print(bytes([int(x, 16) for x in [a, b, c, d, e, f]]))
但是,如果需要'b'\x32..\x21'值,则必须使用上述join语句
下一个代码将输入字符串(a、b、c、d、e、f)转换为字节。虽然打印的字节在视觉上与预期的输出不同,但这些字节的值与预期的值相同,因为我的代码中的断言不会失败
Try it online!
a = '32'; b = '45'; c = '54'; d = '78'; e = '43'; f = '21' res = bytes([int(x, 16) for x in [a, b, c, d, e, f]]) assert res == b'\x32\x45\x54\x78\x43\x21' print(res)
输出:
(其值等于预期的b'\x32\x45\x54\x78\x43\x21')
如果您的输入值是由
a,b,c,d,e,f
定义的,那么您可以给出:这将导致:
当我尝试转换时,它会给我一个
b'2ETxC!'
的结果。我不确定您需要什么如果您需要
b'2ETxC!'
,那么@Arty的答案就足够了但是,如果需要'b'\x32..\x21'值,则必须使用上述join语句
下一个代码将输入字符串(a、b、c、d、e、f)转换为字节。虽然打印的字节在视觉上与预期的输出不同,但这些字节的值与预期的值相同,因为我的代码中的断言不会失败
Try it online!
输出:
(其值等于预期的
b'\x32\x45\x54\x78\x43\x21'
)相关问题 更多 >
编程相关推荐