Thema: Widestring

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Widestring

  Alt 4. Dez 2016, 15: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;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

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