Как преобразовать длинное число (строку) в php в 32-байтовый буфер? - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь преобразовать это длинное число: 7066362913544046959379121391986018585750267357944410108207023200264959783199

в 32-байтовый буфер.

Мне удалось сделать это в python, используя * * 1005: * 100 *

Возможно ли то же самое в php?

1 Ответ

0 голосов
/ 07 августа 2020

Здравствуйте, вы собираетесь использовать метод intval и метод pack .

Код будет выглядеть так:

<?php

$x = "7066362913544046959379121391986018585750267357944410108207023200264959783199";
$xInt = intval($x);
$xBytes = pack('L', $xInt);

?>

Строка 'L' - это формат (длинный без знака, всегда 32 бита, машинный порядок байтов). Строка формата состоит из кодов формата, за которыми следует необязательный аргумент повторителя. Подробнее об этом читайте в docs .

...