Max*_*Max 3 php string hex file
我有一个表示为十六进制字符串的文件内容,我想从该十六进制字符串重新创建该文件。我该怎么做?
附加信息
十六进制字符串取自 firefox 内存缓存条目,如下所示:
about:cache-entry?client=HTTP&sb=1&key=http://www.google.co.uk/images/nav_logo40.png
Run Code Online (Sandbox Code Playgroud)
我正在处理<pre>这些条目中的元素以提取和连接 HEX 值。因此,从以下从缓存条目获得的数据输出行:
00000000: 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 .PNG........IHDR
Run Code Online (Sandbox Code Playgroud)
我正在生产这个
89504e470d0a1a0a0000000d49484452
Run Code Online (Sandbox Code Playgroud)
我对每一行重复相同的过程,以便我最终得到 1 个大字符串,其中包含连接的所有十六进制值。
您可以使用pack:
file_put_contents($filename, pack('H*', $hex));
Run Code Online (Sandbox Code Playgroud)
这会将十六进制表示法的八位字节串转换为二进制:
var_dump(pack('H*', '313233')); // string(3) "123"
Run Code Online (Sandbox Code Playgroud)