Was ist der beste Weg, um ein Array von Bytes, die als TBytes deklariert sind, in Delphi 2009 in eine Unicode-Zeichenkette umzuwandeln? In meinem speziellen Fall hat das Array TBytes bereits UTF-16-kodierte Daten (2 Bytes für jedes Zeichen).Was ist der beste Weg, um TBytes (UTF-16) in eine Zeichenfolge zu konvertieren?
Da TBytes keinen Nullabschluss speichert, wird im Folgenden nur funktionieren, wenn das Array # 0 im Speicher neben ihm hat passiert.
MyString := string(myBytes);
Wenn nicht, wird das String-Ergebnis am Ende Zufallsdaten (es wahrscheinlich auch eine Lese Verletzung je nachdem, wie lange die dazu führen könnte es dauerte eine # 0 im Speicher zu begegnen).
Wenn ich die ToBytes Funktion zu verwenden, es gibt 't' # 0'e '# 0s' # 0't '# 0, was nicht das, was ich will.
Dank Bruce mit, ich meine ursprüngliche Frage überarbeitet, da es nicht spezifisch genug war. Das TBytes-Array ist als utf16-Daten codiert, daher funktioniert ToBytes nicht. –
Süß. So einfach wie 8 Zeichen: StringOf :) – Ampere