Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Unicodezeichen mit mehr als einem wideChar?

  Alt 19. Mai 2021, 10:15
Es doch eigentlich genau was himitsu sagt - Es geht nicht um Bytes. Es geht um Zeichen. Und wie diese Zeichen auf dem Bildschirm (für einen Menschen) dargestellt werden ist nicht das gleiche.

Dieser nicht ganz erst gemeinte Comic zeigt das auch nochmal gut:
https://xkcd.com/1813/

Ich sehe das große Problem noch nicht ganz. Wenn jemand als Vorname "Jupp 😎" eingibt und aus diesem Eingabefeld maximal die ersten sechs Zeichen gespeichert werden muss er doch damit leben können wenn ein Programm dann später "Jupp �" anzeigt. Alternativ filtert man das halt einfach raus, sollte man mit Benutzereingaben eh immer machen:

Delphi-Quellcode:
uses System.Character;

var
   newText: String;
   finalText: String;
   character: Char;
begin
   newText := String.Empty;
   for character in 'Hallo 😎'.Substring(0, 7) do
      if(character.IsLetterOrDigit()) then
         newText := newText + character;

   Edit1.Text := newText;
end;
  Mit Zitat antworten Zitat