如何从PHP中的二进制数据中获取可读字符串?

时间:2014-12-11 12:22:56

标签: php

我有一个带有一些非不可打印字节的字符串。我想将此字符串转换为人类可读的格式。不可打印的字符可以表示类似的东西?或者< 07>,可打印的字符应保持不变。

在PHP中有一种简单的方法吗?

1 个答案:

答案 0 :(得分:1)

有许多方法可以做这样的事情。

我的选择是:

$string = preg_replace_callback('/[\x00-\x08\x0B\x0C\x0E-\x1F]/',function($char) {
    // format as desired, for instance:
    return "{".dechex(ord($char[0]))."}";
},$string);

您可以定义"不可打印"你怎么想,我在那里做的基本上是"空前的一切,但允许Tab,CR和LF"。