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)