【问题标题】:Perl unknown template of unpackPerl 未知解压模板
【发布时间】:2013-07-19 20:08:55
【问题描述】:

有人可以告诉我在Perl中的含义

unpack('@76b9', $buf);

(特别是 '@76b9' 部分)。 这个以零为参数的函数可以返回不同于零的东西吗?

【问题讨论】:

  • 这取决于您所说的“零作为参数”是什么意思。是$buf = 0, $buf = 'zero', $buf = "\0", ...

标签: perl unpack


【解决方案1】:

@76 表示跳到$buf 中的第76 个字节。

b9 表示解包一个 9 位整数字段。

有关packunpack 的教程,请参阅perlpacktut

【讨论】:

    【解决方案2】:
    @76
    

    @Null-填充或截断到绝对位置,从最里面的()-group开始计数

    b9
    

    b 一个位串(每个字节内的升序位顺序,如 vec())。

    例子:

    unpack('@76b9', (" "x76) . chr(4) . chr(1) )   ==>  001000001
                                                        --------|
                                                            |   |
                                 \004 in ascending order-----   |
                                                                |
                                 LSB of \001 --------------------
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多