php,如何将 int 打包为有符号的 64 位小端字符串?

问题描述

奇怪的是,pack() 不支持 *signed* 64bit little-endian,而它支持无符号,那么我如何打包一个有符号的呢?

作为参考,如果我想要一个无符号的 64 位小端包(),我会简单地做

    $packed = pack("P",$i);

解决方法

来自 php 官方文档 pack

注意有符号值和无符号值的区别只 影响函数 unpack(),其中函数 pack() 给出相同的 有符号和无符号格式代码的结果。