Thema: Widestring

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Widestring

  Alt 4. Dez 2016, 14:00
UTF-16 hat einen Vorteil, denn man kann mit Bitmasken prüfen ob ein Zeichen ein Einzelchar oder ein Surrogate und sogar ob es das erste oder zweite Char eines Surrogate ist.

Auch die user-definierten Chars lassen sich erkennen (auch wenn da keiner 'ne Ahnung hat, wie dieses Char interpretiert wird, abgesehn vom entsprechenden Programm, welches Diesen nutzt)
Aber auch Sicht des Unicode sind jene Chars immer Einzelzeichen.

CharNext macht da auch kein Hexenwerk.
Delphi-Quellcode:
function CharNext(Input: PWideChar): PWideChar;
begin
  Result := Input;
  Inc(Result, 1);
  if IsLastCharOfSurrogate(Reult) then
    Inc(Result, 1);

  // oder

  Result := Input;
  if IsFirstCharOfSurrogate(Reult) then
    Inc(Result, 2)
  else
    Inc(Result, 1);
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Dez 2016 um 14:45 Uhr)
  Mit Zitat antworten Zitat