我有来自实验的Base64编码数据.所以我试图逐步做的是:
例:
Dn3LQ3np4kOyxQJE20kDRBRuFkScZB5ENxEzRFa+O0THMz9EOQRCRFC1QkRYeUNEwXJJROfbSUScvE5EVDtVRK5PV0TLUWNE481lRHX7ZkSBBWpE9FVyRIFdeESkoHhEnid8RI1nfUSy4YBE/C2CRGKQg0RcR4RE54uEROUAhUTBWodErKyMRNsVkkRvUpJEukWURO58lkSqRZ1E2VauRPBTwEQf9cVE9BnKRA==
到目前为止我尝试过的
import os
import base64
import struct
s = 'Dn3LQ3np4kOyxQJE20kDRBRuFkScZB5ENxEzRFa+O0THMz9EOQRCRFC1QkRYeUNEwXJJROfbSUScvE5EVDtVRK5PV0TLUWNE481lRHX7ZkSBBWpE9FVyRIFdeESkoHhEnid8RI1nfUSy4YBE/C2CRGKQg0RcR4RE54uEROUAhUTBWodErKyMRNsVkkRvUpJEukWURO58lkSqRZ1E2VauRPBTwEQf9cVE9BnKRA=='
decode=base64.decodestring(s)
tmp_size=len(decode)/4
Run Code Online (Sandbox Code Playgroud)
现在我试图从这里将这些字节转换为小端.
我想用Python做下一个操作.
我想弄明白自己,但是花了太多时间.
谢谢!
您的数据似乎并未实际压缩.使用循环使用struct.unpack_from()
或作为一个大结构将数据读取为浮点数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
Run Code Online (Sandbox Code Playgroud)
如果数据已压缩,请将其解压缩.
import zlib
decompressed = zlib.decompress(data)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6192 次 |
最近记录: |