Wie ist die ?? dargestellten Zeichen in Swift strings?
Wie einige andere emoji-Zeichen, das 0x0001F1E9 0x0001F1EA Kombination (Deutsche Flagge) ist dargestellt als ein einzelnes Zeichen auf dem Bildschirm, obwohl es wirklich zwei verschiedene Unicode-Zeichen, Punkte kombiniert. Wird es dargestellt als ein oder zwei verschiedene Charaktere in Swift?
Swift-strings sind vollständig Unicode. Was passiert, wenn Sie testen?
Diese beiden Zeichen (die nicht dargestellt werden in meinem browser) sind "REGIONALE INDIKATOR-SYMBOL BUCHSTABEN "D" und "REGIONALE INDIKATOR-SYMBOL-BUCHSTABE-E". Ich kann sehen, dass die Verbindung nach Deutschland, aber in welchem Kontext tun, den Sie machen, wie eine Deutsche fahne?
auf iOS und OSX ist es so dargestellt, als Deutsche Flagge Emoji. Sie können google es (nicht die Verknüpfung selbst, die auf mobilen rechts mow)
Dieser blog-Eintrag von Ole-Antworten auf Ihre Frage eingehend: oleb.net/blog/2014/07/swift-strings
Auf Android sehen Sie auch eine fahne. Unter Windows den Buchstaben DE.
Diese beiden Zeichen (die nicht dargestellt werden in meinem browser) sind "REGIONALE INDIKATOR-SYMBOL BUCHSTABEN "D" und "REGIONALE INDIKATOR-SYMBOL-BUCHSTABE-E". Ich kann sehen, dass die Verbindung nach Deutschland, aber in welchem Kontext tun, den Sie machen, wie eine Deutsche fahne?
auf iOS und OSX ist es so dargestellt, als Deutsche Flagge Emoji. Sie können google es (nicht die Verknüpfung selbst, die auf mobilen rechts mow)
Dieser blog-Eintrag von Ole-Antworten auf Ihre Frage eingehend: oleb.net/blog/2014/07/swift-strings
Auf Android sehen Sie auch eine fahne. Unter Windows den Buchstaben DE.
InformationsquelleAutor Max Yankov | 2014-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
dann
flag
ist ?? .Weitere regionale Kennzeichen, Symbole, siehe:
http://en.wikipedia.org/wiki/Regional_Indicator_Symbol
InformationsquelleAutor NSDeveloper
Unterstützung für "extended grapheme Cluster" Hinzugefügt wurde Swift in der Zwischenzeit.
Iteration über die Zeichen einer Zeichenkette erzeugt ein einzelnes Zeichen für
die "flags":
Ausgabe:
InformationsquelleAutor Martin R
Swift 3 implementiert Unicode in seiner
String
struct. In Unicode, alle Fahnen sind Paare von Regionale Kennzeichen-Symbole. Also??
ist eigentlich?
gefolgt von?
(versuchen kopieren und einfügen neben einander!).Wenn zwei oder mehr Regionale Kennzeichen, Symbole befinden sich neben einander, Sie bilden eine "Extended Grapheme Cluster", was bedeutet, dass Sie behandelt, als ein Zeichen. Dies ist der Grund, warum
"?? = ??????...".characters
gibt Sie["??", " ", "=", " ", "??????", ".", ".", "."]
.Wenn Sie möchten, um zu sehen, dass jeder einzelne Unicode-code-point (auch bekannt als "Skalare"), die Sie verwenden können
.unicodeScalars
, so dass"Hi??!".unicodeScalars
gibt Sie["H", "i", "?", "?", "!"]
tl;dr
?? ist eine Charakter (in beiden schnellen und Unicode), die aus zwei code Punkte (AKA Skalare). Vergessen Sie nicht, die anders sind! ?
Siehe Auch
InformationsquelleAutor Ben Leggiero
Swift nicht sagen, was die interne Darstellung einer
String
ist. Sie interagieren mit einerString
als eine Liste mit full-size (32-bit) Unicode-code-points:Wenn Sie arbeiten möchten, mit einem string als eine Folge von UTF-8 oder UTF-16-code-Punkte, mit seinem
utf8
oderutf16
Eigenschaften. Sehen Strings und Zeichen in der Dokumentation.Falsch, man kann
string.unicodeScalars
stattstring.characters
und bekommen"Hi??!".unicodeScalars == ["H","i","?","?","!"]
InformationsquelleAutor rickster
Swift 5, können Sie Durchlaufen die
unicodeScalars
Eigenschaft einer Flagge emoji-Zeichen, um zu drucken die skalaren Unicode-Werten, die Sie zusammensetzen:Wenn Sie kombinieren diese skalaren (das sind Regional-Kennzeichen, Symbole), erhalten Sie eine Flagge emoji:
Jeder
Unicode.Scalar
Instanz hat auch eine Eigenschaftvalue
, die Sie verwenden können, um eine numerische Darstellung:Können Sie erstellen Unicode-Skalare von denen numerische Darstellungen ordnen diese dann in einem string:
Als alternative, können Sie
Unicode.Scalar
'sentgangen(asASCII:)
Methode, um eine string-Darstellung des Unicode-Skalare (mit ASCII-Zeichen):InformationsquelleAutor Imanou Petit