Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: TBytes in String umwandeln und umgekehrt mit Indy 10

  Alt 10. Aug 2007, 18:21
Hallo,

wenn keine Null-Werte im Byte-Array vorkommen, dann macht Delphi das alles selbständig:

Delphi-Quellcode:
type
  TIdBytes = array of Byte;

var
  a: TIdBytes;
  s: string;

begin
  s := String(a);
  a := TIdBytes(s);
end;
Wenn aber Null-Werte vorkommen, dann kann eine Wandlung von String in Array und zurück - egal wie man es macht - zu hässlichen Fehlern führen.

Zitat von Alex:
... Da ich anscheind beim Server kein Array of Byte empfangen kann, wandel ich es beim Client vorher in ein String um. ...
ReadBytes() sieht für mich so aus, wie eine Methode zum Empfangen eines Array of Byte. Und wenn es das nicht gäbe, so wäre die client-seitige Wandlung in einen String auch nicht nötig. Eigentlich geht es immer nur darum, ob man den Daten eine Größenangabe voraus schickt oder einen Delimiter hinten anstellt.

Grüße vom marabu
  Mit Zitat antworten Zitat