将以0x8950开头的字符串转换为有效的PNG

时间:2019-01-08 22:38:57

标签: php png

我有一个很长的字符串(超过60,000个字符),其开头如下...

0x89504E470D0A1A0A0000000D494844520 ....

我知道此字符串是PNG,我可以在PNG Wikipedia页面上看到magic number89 50 4e 47 0d 0a 1a 0a,它与我的字符串的开头相对应。

如果仅将我的整个字符串写入文件,则无法查看PNG。我知道在字符串变成有效的PNG文件之前,我需要对其进行一些操作。我的问题是,我现在不知道字符串格式的术语,也不知道能描述我想要的格式的正确单词。这使我无法进行任何有效的搜索!

在可以写入.png文件之前,需要运行字符串的PHP函数的名称是什么?

1 个答案:

答案 0 :(得分:0)

如果这对其他人有帮助,如上面的评论所述,则PHP函数为hex2bin

最初我遇到错误:

Warning: hex2bin(): Input string must be hexadecimal string

然后我从字符串0x中删除了前两个字符,然后转换正常进行了:

$str = substr($str, 2);
$str = hex2bin($str);