>我有一个字符串,其中包含一些不可打印的字节。我想将此字符串转换为人类可读的格式。不可打印的字符可以用类似 ?或 <07>,可打印字符应保持不变。
在PHP中有没有简单的方法可以做到这一点?
有很多很多方法可以做这样的事情。
我的选择是:
$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"。