PHP: создать файл из строки HEX - PullRequest
2 голосов
/ 14 апреля 2011

У меня есть содержимое файла, представленного в виде шестнадцатеричной строки, и я хочу заново создать этот файл из этой шестнадцатеричной строки. Как я могу это сделать?

Дополнительная информация
Шестнадцатеричная строка берется из записей кэша памяти Firefox, таких как приведенная ниже:

about:cache-entry?client=HTTP&sb=1&key=http://www.google.co.uk/images/nav_logo40.png

Я обрабатываю элемент <pre> из этих записей для извлечения и объединения значений HEX. Итак, из приведенной ниже строки вывода данных, полученной из записи кэша:

00000000:  89  50  4e  47  0d  0a  1a  0a  00  00  00  0d  49  48  44  52  .PNG........IHDR

Я произвожу это

89504e470d0a1a0a0000000d49484452

Я повторяю один и тот же процесс для каждой строки, чтобы в итоге я получил 1 большую строку, содержащую все шестнадцатеричные значения, соединенные.

1 Ответ

4 голосов
/ 14 апреля 2011

Вы можете использовать pack:

file_put_contents($filename, pack('H*', $hex));

Это превратит строку октетов в шестнадцатеричной записи в двоичную:

var_dump(pack('H*', '313233'));  // string(3) "123"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...