如何在Python中将字符串转换为字节(已关闭)

2024-10-04 13:27:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python中的crc-16libscrc

我想把字符串改成字节

例如:

a = '32'
b = '45'
c = '54'
d = '78'
e = '43'
f = '21'

------------------------------------编码到------------------

预期成果:

b'\x32\x45\x54\x78\x43\x21'

Tags: 字符串编码字节crc成果x45x32x21
2条回答

如果您的输入值是由a,b,c,d,e,f定义的,那么您可以给出:

print ("b'\\x" + '\\x'.join([a,b,c,d,e,f]) + "'")

这将导致:

b'\x32\x45\x54\x78\x43\x21'

当我尝试转换时,它会给我一个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'2ETxC!'

(其值等于预期的b'\x32\x45\x54\x78\x43\x21'

相关问题 更多 >