我需要将bin文件转换为PHP中的字符串,方法与Linux程序相同。
linux:xxd -g 1 data.bin
,输出:0000000: 02 50 45 10 02 06 54 62 43 20 05 20 11 07 21 12 .PE...TbC . ..!.
在PHP中,我试图使用bin2hex
函数,但我只得到数字02 50 45 10 02 06 54 62 43 20 05 20 11 07 21 12
。我还需要一个偏移量和文本表示。
偏移量是我上面输入的字符串中的行号、第一个数字和冒号(0000000:
)。这实际上不是问题,因为我可以编写计算这个的代码,但更大的问题是文本表示(.PE...TbC . ..!.
)。
有人能帮忙吗?我可以用什么函数呢?
您可以使用正则表达式将不可打印的字符替换为.
(或您选择的任何字符)。
$data = hex2bin('02504510020654624320052011072112');
$text_representation = preg_replace('/[^[:print:]]/', '.', $data);
var_dump($text_representation);