Python Hex to Byte转换产生模糊结果

时间:2017-11-09 18:08:08

标签: python type-conversion hex byte

我提供了我的python代码片段,我需要转换用HEX编写的命令转换为字节,以便它们可以通过串行发送。但是对于某些HEX值,我的转换模糊不清。通常如下:

command = '0200C00903C9'
print (bytes.fromhex(command)

给出输出:

output: b'\x02\x00\xc0\t\x03\xc9'

然而,下面给出了模棱两可的结果:

c_1 = '02030002'
c_2 = '03062000'
c_3 = '01110334'
command = c_1 + c_2 + c_3
print(bytes.fromhex(command))

给出:

output: b'\x02\x03\x00\x02\x03\x06 \x00\x01\x11\x034'

忽略对应于SPACE(ASCII代码:20)的空格。但输出应该是以下形式:

output: b'\x02\x03\x00\x02\x03\x06 \x00\x01\x11\x03\x34'

奇怪的是,如果我这样做:

c_1 = '02030002'
c_2 = '03062000'
c_3 = '0111033434'
command = c_1 + c_2 + c_3
print(bytes.fromhex(command))

它再次给出了一个模糊的转换:

output: b'\x02\x03\x00\x02\x03\x06 \x00\x01\x11\x0344'

这种趋势仍在继续。为什么它错过了'03'之后的3'?

0 个答案:

没有答案