Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“包装格式”;Q";在PHP 5.5/32位计算机上_Php_Integer_Bit Manipulation_Backwards Compatibility - Fatal编程技术网

“包装格式”;Q";在PHP 5.5/32位计算机上

“包装格式”;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-我想我可能已经和:,一起中了大奖,很高兴你把它作为一个答案发布,这样我就可以接受了?我

我想实现这里描述的东西:在PHP中。到目前为止,以下各项似乎正在发挥作用:

编码

解码

不幸的是,这只适用于64位系统和PHP5.6.3+,其中引入了pack/unpack的“Q”格式


我有什么可能实现在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];