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;