我有一个表示为十六进制字符串的文件的内容,我想从该十六进制字符串重新创建该文件。我该怎么办?
其他信息
十六进制字符串取自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
我正在为每一行重复相同的过程,以便最终得到一个包含所有连接的十六进制值的大字符串。
答案 0 :(得分:4)
您可以使用pack
:
file_put_contents($filename, pack('H*', $hex));
这会将十六进制表示的八位字节串转换为二进制:
var_dump(pack('H*', '313233')); // string(3) "123"