...Ctrl-A (0x01) steht und ^@ für Ctrl-@ (0x00). Also müsste man bitte nicht 0 durch "^@" und 1 durch "^A" ersetzen, sondern durch "\x00" respektive "\x01".
Kann PHP korrekt mit Strings umgehen, die Nullbytes als Nutzzeichen enthalten?
Kann es! Gerade eben getestet, tut einwandfrei, vielen Dank :)