这是打包/解包吗?

时间:2014-12-21 19:26:32

标签: php

我有这个循环:

$encoded = '';
while ($number) {
  $encoded = chr($number & 0xFF) . $encoded;
  $number = $number >> 8;
}
return $encoded;

我想知道是否有相应的packunpack

1 个答案:

答案 0 :(得分:3)

您将此编码为big-endian表示(首先表示最重要的字节),但宽度可变。

所以要得到字节:

pack("N", $number)

您也可以使用64位J

但是你还需要修剪前导空字节(对于可变宽度):

ltrim(pack("N", $number), chr(0))