Einzelnen Beitrag anzeigen

Shark99

Registriert seit: 16. Mai 2007
403 Beiträge
 
#7

AW: Programm verhält sich anders unter Windows 10 (DE) und Windows 10 (KOR)

  Alt 23. Aug 2015, 09:31
Ich merkte schon vor paar Stunden dass die Verwendung von AnsiString, UTF8String oder sogar RawByteString ab Delphi 2009 sehr gefährlich ist weil Delphi diese Datentypen anscheinend nie in Ruhe lässt und je nach Lust und Laune PageCode-Konvertierungen damit macht. Siehe z.B. hier: http://stackoverflow.com/questions/2...oke-utf8decode

Ich habe es schon mal mit TBytes versucht.

Ich will folgendes haben.

Input ist string (=UnicodeString, also UTF16).

Ich will diesen Ziplib komprimieren (möglichst ohne UTF8 Konvertierung, schaffe es aber nicht ohne) und dann nach Base64 (nicht im Beispielcode) wandeln um in eine Datenbank zu speichern.

Delphi-Quellcode:
  s: TBytes;
...
  s := TEncoding.UTF8.GetBytes(aText);
  strInput:= TStringStream.Create(s);
  strOutput:= TStringStream.Create;
Ich komme aber danach nicht weiter, weil strOutput.DataString ein AniString ist und kein TBytes. Es verhält sich also je nach Windows-Version anders.
  Mit Zitat antworten Zitat