【问题标题】:python3: converting interger value(2byte) to two individual bytes in byte arraypython3:将整数值(2字节)转换为字节数组中的两个单独字节
【发布时间】:2021-03-24 03:14:48
【问题描述】:

我有以下代码尝试将整数值转换为字节数组中的两个单独字节。

value = 13183
print("Initial value: ", value)
val_msb = (value >> 8) & 0xFF
val_lsb = value & 0xFF
print("Value MSB:", val_msb, "Value LSB:", val_lsb)

val_arr = bytearray(2);
val_arr[0] = val_msb
val_arr[1] = val_lsb
print("Byte array:", val_arr)

得到与预期不匹配的以下输出。

Initial value:  13183
Value MSB: 51 Value LSB: 127
Byte array: bytearray(b'3\x7f')

我希望它生成最终的字节数组为Byte array: bytearray(b'x33\x7f')

【问题讨论】:

    标签: arrays python-3.x type-conversion hex


    【解决方案1】:

    字符“3”的字符代码为 51(或 0x33)。因此,您在此处看到的 3 不是数值,而是转换为的字符。如果你发出最后一条命令

    print(list(val_arr))
    

    你可以看到值是正确的。

    【讨论】:

      猜你喜欢
      • 2021-03-14
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      相关资源
      最近更新 更多