0
我想在PHP中實現如下所述的某些內容:https://webapps.stackexchange.com/a/101153。到目前爲止,以下似乎工作:PHP 5.5/32位機器上的打包格式爲「Q」
編碼
return rtrim(strtr(base64_encode(pack('Q', $int64)), '+/', '-_'), '=');
解碼
$bytes = base64_decode(strtr($data, '-_', '+/'));
return unpack('Q', $bytes)[1];
不幸的是在64位系統和PHP5.6.3這隻能+其中 「Q」引入了pack/unpack的格式。
我有什麼可能性來實現相同的功能,將在php5.5 64 & 32位工作相同?
'Q'是依賴於機器的字節順序更棘手,但這可能有所幫助:https://stackoverflow.com/a/41060369/468027 – Narf
謝謝@Narf - 我想我可能已經與以下組合獲得了大獎: http://php.net/manual/en/function.base-convert.php#106546,很高興爲您發佈它作爲答案,所以我可以接受它? – lifeofguenter
我不太喜歡發佈不完整的答案。另外,你正在做一些非常具體的事情,這不太可能幫助其他用戶......無論如何,應該鼓勵每個人都升級他們的PHP版本。 :) – Narf