首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Perl中使用"pack/unpack“?

如何在Perl中使用"pack/unpack“?
EN

Stack Overflow用户
提问于 2011-12-27 23:36:16
回答 1查看 1.8K关注 0票数 1

当我使用红宝石语言解析数据时,数据被编码为64位网络字节顺序,如下所示:

代码语言:javascript
复制
def unpack_string(str)
   binary = str.unpack('m*').first
   binary.unpack('G*')
end

my_array_of_floats = unpack_string(str)

我如何使用Perl的pack/拆包来做同样的事情?

EN

回答 1

Stack Overflow用户

发布于 2011-12-28 00:54:17

看看Ruby文档,

  • m是MIME base64编码。
  • G是一个双精度,网络(大端)字节顺序。

Perl的unpack不执行base64,但是MIME::Base64 64执行。

在Perl的unpack中,d是双精度的。您可以使用>指定endianness。

代码语言:javascript
复制
use MIME::Base64 qw( decode_base64 );
my @nums = unpack 'd>*', decode_base64 $str;

>是在Perl5.10中引入的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8650365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档