![]() |
AW: Kodierung in UCS-2 Little Endian
Sehe ich das richtig dass dem armen Mann im Endeffekt empfohlen wurde "Wird schon nichts außerhalb von UCS-2 vorkommen"?
Wenn es für mich noch nicht zu früh am Morgen ist dann entfernt man aus einem String doch einfach nur die Surrogates und hat einen String wo jedes Zeichen in die Basic Multilingual Plane, also 16 Bit, passt:
Delphi-Quellcode:
uses
System.SysUtils, System.Character; procedure RemoveNonUCS2(var str: String; const replacement: String = ''); var index: Integer; stringBuilder: TStringBuilder; begin stringBuilder := TStringBuilder.Create(str.Length); try index := 0; repeat if Char.IsSurrogatePair(str, index) then begin Inc(index); if (not replacement.IsEmpty()) then stringBuilder.Append(replacement); end else stringBuilder.Append(str.Chars[index]); Inc(index); until (index >= str.Length); str := stringBuilder.ToString(); finally stringBuilder.Destroy(); end; end; |
AW: Kodierung in UCS-2 Little Endian
Zitat:
|
AW: Kodierung in UCS-2 Little Endian
Erstellungsdatum des Threads? Anyone? :roll:
|
AW: Kodierung in UCS-2 Little Endian
Es ist nie zu spät gegen vergangene Verbrechen vorzugehen :warn:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz