Я написал программу на C++, которая отправляет данные POST в php. Мои данные 123456 в двоичном формате, который равен 0x0001e240.Как работать с двоичными данными в php (не бинарной строке)?
Мой файл PHP читает как
$f=fopen("php://input", "r");
if (!$f) die ("cannot open");
$data = fread($f, 4);
echo $data;
В моей приемной программе (в C++), я могу видеть переспросил данные точно 0x0001e240, поэтому я считаю, PHP сделал принять чистую двоичную вещь и сохраняется в $ данных ,
Однако, я хочу получить 123456 в php. Я пробовал такие функции, как bindec, hexdec и т. Д., Но ни один из них не работает. Как я могу получить число из $ data.
Кроме того, мне нужно заботиться о endians in php? Я работаю локально теперь с средой Windows, но я, наконец, поместил свои коды в облако.
Редактировать
$f=fopen("test.bin", "rb");
if (!$f) die ("cannot open");
$data = fread($f, 4);
echo $data;
где test.bin является бин файл, который содержит 0x0001e240. Кажется, что я получил строку в $ data, которая была составлена с ASCII 0x00, 0x01, 0xe2 и 0x40. Как я могу сделать их числовыми?
Спасибо за ваш ответ. Но я получил уведомление «Уведомление: массив для преобразования строк», и я не получил номер, который я хочу. –
К сожалению, я знал, что я ошибся. и я должен использовать N для 32 бит. Я думаю, что работает! большое спасибо! –