出于测试目的,我需要如下字符串:
"test'x00string"
我想遍历控制字符 (00-1F) 并自动生成字符串,这样我就不必用这样的 31 行来弄乱我的代码,但不知道如何在 php 中实现这一点。
同样为了测试格式错误的utf,我可能想将其他字节序列插入字符串中。
对于某些字符,有预定义的转义序列,可以在双引号中使用:
$nullByte = "'0";
但是,如果您要循环,最好的选择是chr()
:
$string = '';
foreach (range( 0x00, 0x1F ) as $i)
{
$string .= chr($i);
}
作为单行
:$string = implode('', array_map('chr', range(0x00, 0x1F)));
$nullByte = chr(0);
您可以只连接字节以生成多字节字符串。