【问题标题】:pack/unpack - litle endian - 64bit - question打包/解包 - 小端 - 64 位 - 问题
【发布时间】:2011-01-12 17:59:32
【问题描述】:
#!/usr/bin/env perl
use warnings;
use 5.012;

my $var = 1 << 31;
say unpack( "B*", pack( "N", $var )  );

# 10000000000000000000000000000000

我如何从

获取打包/解包
my $var = 1 << 63;

这样的输出?

# 1000000000000000000000000000000000000000000000000000000000000000

【问题讨论】:

    标签: perl pack unpack


    【解决方案1】:
    say unpack("B*", pack( "Q>", $var ));
    

    &gt; 强制 Q(无符号 64 位“quad”)类型采用 big-endian 字节顺序。

    【讨论】:

    • 注意:1) Quads 仅适用于 64 位版本的 perl。 2) 字节顺序修饰符需要 Perl 5.10 或更新版本。
    猜你喜欢
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    相关资源
    最近更新 更多