【问题标题】:How to convert independent bytes to bytearray?如何将独立字节转换为字节数组?
【发布时间】:2019-07-30 08:38:50
【问题描述】:

我通过串行接收单个字节,我知道每 4 个字节都是一个浮点数。 F.e.我收到b'\x3c'b'\xff',我希望它是b'\x3c\xff'。 转换它的最佳方法是什么?

【问题讨论】:

  • 您可以使用struct 模块轻松完成。
  • 您愿意告诉我具体的方法吗?我无法解决它。
  • 如果您 edited 提出您的问题并添加显示您如何从串行端口读取字节的代码,我会愿意的。还需要知道接收到的浮点数据的字节顺序(小端或大端)。

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


【解决方案1】:

您可以像使用字符串一样使用 join()

byte_1 = b'\x3c'
byte_2 = b'\xff'

joined_bytes = b''.join([byte_1, byte_2]) #b'\x3c\xff'

您可以在struct 模块中使用它来获取解码后的浮点数,注意它会返回一个元组,即使它只有一个元素。

import struct

byte_1 = b'\x3c'
byte_2 = b'\xff'
byte_3 = b'\x20'
byte_4 = b'\xff'

joined_bytes = b''.join([byte_1, byte_2, byte_3, byte_4])

result = struct.unpack('f', joined_bytes)
print(result[0])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2014-08-08
    • 2010-09-15
    • 1970-01-01
    相关资源
    最近更新 更多