Строка не пустая. Это 2560 байт. var_dump () не может отобразить все символы и отменяет вывод для определенных символов.
Для вашего понимания:
$str = "\x00\x01\x02\n";
var_dump($str); //string(4) " "
Шестнадцатеричное представление может помочь сделать все байты видимыми.
function strhex($s){
return $s != '' ? '\\x'.implode('\\x',str_split(bin2hex($s),2)) : '';
}
$str = "\x00\x01\x02\n";
echo strhex($str); // \x00\x01\x02\x0a
Если вы используете эту функцию вместо var_dump, все символы будут видны.