0
我想将64位二进制值转换为整数或字符串,反之亦然。如何将64位整数存储为二进制值,并且我如何读取存储的64位整数?
我知道我可以为我的工作使用pack(“J *”,...)和unpack(“J *”,...)。
,但它只能在PHP V5.6及更高版本和我的PHP版本是5.4
现在如何在PHP V5.4做到这一点?
我想将64位二进制值转换为整数或字符串,反之亦然。如何将64位整数存储为二进制值,并且我如何读取存储的64位整数?
我知道我可以为我的工作使用pack(“J *”,...)和unpack(“J *”,...)。
,但它只能在PHP V5.6及更高版本和我的PHP版本是5.4
现在如何在PHP V5.4做到这一点?
可以作为两个32位值不喜欢这样,通过保存它:
$high = ($value & 0xffffffff00000000) >> 32;
$low = $value & 0x00000000ffffffff;
$packed = pack('NN', $high, $low);
list($high, $low) = array_values(unpack('N2', $packed));
$value = $high << 32 | $low;