gpt4 book ai didi

python - 解码、小端、未压缩和 float 组

转载 作者:太空狗 更新时间:2023-10-29 23:55:49 25 4
gpt4 key购买 nike

我有来自实验的Base64 编码数据。所以我想逐步做的是:

  • 从 base64 编码中检索字节(解码)
  • 将字节转换为小端
  • 从 (zlib) 中解压字节
  • 字节数组转 float 组

示例:

Dn3LQ3np4kOyxQJE20kDRBRuFkScZB5ENxEzRFa+O0THMz9EOQRCRFC1QkRYeUNEwXJJROfbSUScvE5EVDtVRK5PV0TLUWNE481lRHX7ZkSBBWpE9FVyRIFdeESkoHhEnid8RI1nfUSy4YBE/C2CRGKQg0RcR4RE54uEROUAhUTBWodErKyMRNsVkkRvUpJEukWURO58lkSqRZ1E2VauRPBTwEQf9cVE9BnKRA==

到目前为止我尝试了什么

import os
import base64
import struct

s = 'Dn3LQ3np4kOyxQJE20kDRBRuFkScZB5ENxEzRFa+O0THMz9EOQRCRFC1QkRYeUNEwXJJROfbSUScvE5EVDtVRK5PV0TLUWNE481lRHX7ZkSBBWpE9FVyRIFdeESkoHhEnid8RI1nfUSy4YBE/C2CRGKQg0RcR4RE54uEROUAhUTBWodErKyMRNsVkkRvUpJEukWURO58lkSqRZ1E2VauRPBTwEQf9cVE9BnKRA=='
decode=base64.decodestring(s)

tmp_size=len(decode)/4

现在我正尝试从这里将这些字节转换为小端。

我想在 Python 中进行下一个操作。

我正在尝试自己弄清楚,但它花费了太多时间。

谢谢!

最佳答案

看来您的数据实际上并未压缩。使用 struct.unpack_from() 在循环中将数据读取为 float 或者作为一个大结构使用 struct.unpack() .

import base64
import struct

encoded = 'Dn3LQ3np ... 9BnKRA=='

# decode the string
data = base64.standard_b64decode(encoded)

# ensure that there's enough data for 32-bit floats
assert len(data) % 4 == 0

# determine how many floats there are
count = len(data) // 4

# unpack the data as floats
result = struct.unpack('<{0}f'.format(count), # one big structure of `count` floats
data) # results returned as a tuple

如果数据是压缩的,解压。

import zlib

decompressed = zlib.decompress(data)

关于python - 解码、小端、未压缩和 float 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7450454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com