Woher soll er wissen, dass die Länge gespeichert werden soll?
Man könnte ja auch
als PChar 0-terminiert speichern.
Aber ja, man könnte natürlich ein ReadData/WriteData, bzw. ReadBufferData/WriteBufferData mit einem String-Typen bauen,
aber wie groß soll dann die Größe gespeichert werden?
Byte/Word/LongWord
TReader/TWriter speichern den Typen und beim String auch die Länge, mit unterschiedlichen StringTypen (ShortString bis länger).