在序列化字符串中找到 NULL 字符

IMB*_*IMB 5 php serialization deserialization

我无法unserialize()回溯我已serialize()保存并保存到文本文件中的内容。我也不能复制粘贴字符串,它只复制 NULL 之前的数据,所以我无法在 PHP 中反序列化它。

这是 Notepad++ 中外观的一小段摘录

在此处输入图片说明

任何想法如何反序列化这个?

注意:我error_log($backtrace, 3, 'file.log');用来保存文件,然后只需在 Notepad++ 中打开即可复制粘贴,但我无法复制 NULL 字符。

dan*_*317 3

因此,序列化函数使用语法 null*null 标识成员变量,如您在此处所示。

空字符在字符串中编码为\0,通常不会在输出中显示。要反序列化,您需要将这些“空”文本转换回\0.

当我编写序列化数组时,我通过一个转换\0[NULL].

$string = str_replace("\0","[NULL]",$string);
Run Code Online (Sandbox Code Playgroud)

然后当你准备好反序列化时,你可以做相反的事情

$string = str_replace("[NULL]","\0",$string);
Run Code Online (Sandbox Code Playgroud)