Forum: Win32/Win64 API (native code)
Delphi
by Shark99,
23. Aug 2015
Danke sehr, TNetEncoding gibt es aber leider erst ab XE7.
Forum: Win32/Win64 API (native code)
Delphi
by Shark99,
23. Aug 2015
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/24057569/cast-from-rawbytestring-to-string-does-automatically-invoke-utf8decode
...
Forum: Win32/Win64 API (native code)
Delphi
by Shark99,
23. Aug 2015
Nach mehr Debugcode sehe ich dass es an der string (=UnicodeString) nach UTF8 Konvertierung liegt.
AText ist immer 123축하합니다abc
Unter englischen Win 10 mit koreanischen Languagepack ergibt sich
s: UTF8String;
...
s := WideStringToUTF8(aText); // Length(s) = 25
Forum: Win32/Win64 API (native code)
Delphi
by Shark99,
23. Aug 2015
Danke für die Antwort.
Am Edit-Feld liegt es auch nicht, weil noch in der Compress() Funktion die Länge von Result im Englischen Windows 10 mit koreanischen Languagepack 47 Bytes hat, im original koreanischen Windows 10 jedoch 28 Bytes.
Zeige ich nun so an:
function Compress(aText: string; aCompressionLevel: TZCompressionLevel=zcMax): UTF8String;
var
strInput,
strOutput:...