2

出于测试目的,我需要字符串,例如:

"test\x00string"

我想循环控制字符(00-1F)并自动生成字符串,这样我就不必像这样用 31 行代码弄乱我的代码,但不知道如何在 php.ini 中实现这一点。

另外为了测试格式错误的 utf,我可能想将其他字节序列插入字符串。

4

2 回答 2

3

对于某些字符,有预定义的转义序列,可以在双引号中使用:

$nullByte = "\0";

但是,如果您要循环,最好的选择是chr()

$string = '';

foreach (range( 0x00, 0x1F ) as $i)
{
    $string .= chr($i);
}

作为单线:

$string = implode('', array_map('chr', range(0x00, 0x1F)));
于 2012-05-17T19:37:15.793 回答
1
$nullByte = chr(0);

您可以仅连接字节以制作多字节字符串。

于 2012-05-17T19:21:24.203 回答