Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Ansistring zu Unicodestring (UTF16LE)

  Alt 11. Feb 2011, 02:18
Entweder danach auch nochmal versuchen mit WideCharToMultiByte nun den Text nochmal nach CodePage 1201 (ich hoffe das stimmt) umwandeln

oder du drehst einfach alle Bytes/Chars manuell um.
Delphi-Quellcode:
for i := 1 to Length(S) do
  S[i] := Chr((Ord(S[i]) shl 8) or (Ord(S[i]) shr 8));
Auch wenn ich das jetzt eventuell wieder verwechsle,
(hab wohl eine Links-Rechs-Schwäche mit oder heißt das Groß-Klein? )
aber ist der UnicodeString/WideString nicht schon LittleEndian, also UTF16LE?

CP_UTF16 = 1200 (UTF16LE) und ich glaub die 1201 war UTF16BE

PS: AnsiString > WideString ... da wandelt Delphi das automatisch um.


Nur um es erwähnt zu haben, aber ab Delphi 2009 gibt es auch noch TUnicodeEncoding, TBigEndianUnicodeEncoding und kein explizites LittleEndian, da es das implizit schon gibt.

PS: Wie du das mit dem um eine #0 ergänzen gemeint hast, hab ich nicht richtig verstanden. (bzw, ich glaub ich weiß was du meinst, aber nicht das wie, so daß es dann komischer Weise nicht ging)
$2B or not $2B

Geändert von himitsu (11. Feb 2011 um 02:22 Uhr)
  Mit Zitat antworten Zitat