当我使用红宝石语言解析数据时,数据被编码为64位网络字节顺序,如下所示:
def unpack_string(str)
binary = str.unpack('m*').first
binary.unpack('G*')
end
my_array_of_floats = unpack_string(str)我如何使用Perl的pack/拆包来做同样的事情?
发布于 2011-12-28 00:54:17
看看Ruby文档,
m是MIME base64编码。G是一个双精度,网络(大端)字节顺序。Perl的unpack不执行base64,但是MIME::Base64 64执行。
在Perl的unpack中,d是双精度的。您可以使用>指定endianness。
use MIME::Base64 qw( decode_base64 );
my @nums = unpack 'd>*', decode_base64 $str;>是在Perl5.10中引入的。
https://stackoverflow.com/questions/8650365
复制相似问题