如何解码此十六进制blob?

我正在尝试解码此Firebird Blob以从中提取十进制数字(不确定确切的格式)。 某些情况是斑点正在存储振动频谱数据,并绘制幅度相对于频率的图表。我很确定斑点虽然只包含振幅数据。这是我生成的小测试光谱的示例Blob导出:

def lambda_handler(event,context):
    websiteURL = ['https://example1.com','https://example2.com','https://example3.com']
    topicArnCode = 'arn:aws:sns:ap-southeast-1:123:sample'
    for x in websiteURL:
        print (x)
        r = requests.get(x,verify=False)
        print (r)
        if r.status_code == 200:
            print('Website is alive!')
        else:
            sns_client = boto3.client('sns')
            sns_client.publish(
            TopicArn = topicArnCode,Subject = 'Website is not reachable ' + x,Message = 'Website: ' + x + ' is down\n')
            print('Website is dead')

据我所知,看起来每个数字都由4个字节的数据表示,该数据在此导出中为十六进制。我知道每个值4个字节,因为它与下面的测试集一致。我还认为前2个字节可能是小数部分,后2个是整数?我认为它也可能会使用缩放比例。这是我的测试集(与上面相同,只是重新格式化),带有实际值(幅度):

0000803F0000004000004040000080400000A0400000C0400000E0400000004100001041000020410000304100004041000050410000604100007041000080410000884100009041000098410000A0410000A8410000B0410000B8410000C0410000C8410000D0410000D8410000E0410000E8410000F0410000F84100000042000004420000084200000C4200001042000014420000184200001C4200002042000000006666663FA4707D3F77BE7F3F72F97F3F58FF7F3F0000803F0000C03F0000004000002040000040400000604000008040000088400000904000009840CDCC9C400000A0400000C84200007A4400401C46

很明显,它不仅是十六进制-十进制转换,而且我觉得这是专家可以识别的东西。任何关于如何将这4个十六进制字节解码回数字值的帮助或指针,将不胜感激!

yjyyjywww 回答:如何解码此十六进制blob?

这是行业标准的4字节浮点格式(单浮点)。

当然,字节顺序也应考虑在内(与上面站点中十六进制整数的正常写入相比,您在上面的转储中在视觉上看到了相反的顺序)。

本文链接:https://www.f2er.com/3083566.html

大家都在问