テスト目的で、次のような文字列が必要です。
"test\x00string"
制御文字 (00-1F) をループして文字列を自動的に生成したいので、このような 31 行でコードを乱雑にする必要はありませんが、php でそれを実現する方法がわかりません。
また、不正な形式の utf をテストするために、他のバイト シーケンスを文字列に挿入したい場合があります。
テスト目的で、次のような文字列が必要です。
"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);
バイトを連結してマルチバイト文字列を作成できます。