003100320033
Ich weiß, dass das dem String 123 entsprechen soll.
Tut es auch. $31 ist der hexadezimale Code für 1, siehe
Ascii-Tabelle. Und ein Unicodezeichen ist zwei Byte groß, also $0031.
Mit Raw-Feldern habe ich noch nicht gearbeitet und weiß daher nicht wie man die Auslesen kann. Ich hätte es mit FieldByName(...).AsWideString versucht, aber da Delphi 6 damals noch nicht unicodefähig war...
Ansonsten, wenn du es im Speicher jetzt als AnsiString hast mit 0, 0, 3, 1 usw. jeweils als ein Zeichen, könntest du jeweils 4 Zeichen kopieren und mit
Chr(StrToInt('$' + Copy(DeinString, 1, 4)))
versuchen auszulesen.
Vermutlich gibt es aber auch noch bessere Lösungen.