“包装格式”;Q";在PHP 5.5/32位计算机上
我想实现这里描述的东西:在PHP中。到目前为止,以下各项似乎正在发挥作用: 编码 解码 不幸的是,这只适用于64位系统和PHP5.6.3+,其中引入了pack/unpack的“Q”格式“包装格式”;Q";在PHP 5.5/32位计算机上,php,integer,bit-manipulation,backwards-compatibility,Php,Integer,Bit Manipulation,Backwards Compatibility,我想实现这里描述的东西:在PHP中。到目前为止,以下各项似乎正在发挥作用: 编码 解码 不幸的是,这只适用于64位系统和PHP5.6.3+,其中引入了pack/unpack的“Q”格式 我有什么可能实现在php5.5 64和32位上工作的相同功能?正如@Narf所指出的,使用这个:并将base\u convert替换为:或为我解决了这个问题。'Q'依赖于机器的字节顺序更为棘手,但这可能会有帮助:谢谢@Narf-我想我可能已经和:,一起中了大奖,很高兴你把它作为一个答案发布,这样我就可以接受了?我
我有什么可能实现在php5.5 64和32位上工作的相同功能?正如@Narf所指出的,使用这个:并将
base\u convert
替换为:或为我解决了这个问题。'Q'依赖于机器的字节顺序更为棘手,但这可能会有帮助:谢谢@Narf-我想我可能已经和:,一起中了大奖,很高兴你把它作为一个答案发布,这样我就可以接受了?我不太喜欢发布不完整的答案。另外,你正在做一些非常具体的事情,这不太可能帮助其他用户。。。无论如何,应该鼓励每个人升级他们的PHP版本。:)
return rtrim(strtr(base64_encode(pack('Q', $int64)), '+/', '-_'), '=');
$bytes = base64_decode(strtr($data, '-_', '+/'));
return unpack('Q', $bytes)[1];