Dieser entzückende Unicode



Hier finden Sie eine aktualisierte Liste der schönsten Unicode- "Goodies" sowie der Pakete und Ressourcen

Unicode ist großartig! Vor seinem Erscheinen war die internationale Kommunikation anstrengend: Jeder definierte seinen eigenen erweiterten Zeichensatz in der oberen Hälfte von ASCII (den sogenannten Codepages). Dies führte zu Konflikten. Man denke nur, dass die Deutschen mit den Koreanern verhandeln mussten, wo ist deren Codepage. Glücklicherweise erschien Unicode und führte einen gemeinsamen Standard ein. Unicode 8.0 umfasst mehr als 120.000 Zeichen aus über 129 Skripten. Sowohl moderne als auch alte und immer noch nicht entschlüsselt. Unicode unterstützt Text von links nach rechts und von rechts nach links, überlagert Zeichen und enthält eine Vielzahl von kulturellen, politischen, religiösen Symbolen und Emojis. Unicode ist erstaunlich menschlich und seine Fähigkeiten werden stark unterschätzt.

Inhalt



Kurze Einführung


Welche Zeichen sind in Unicode Standard enthalten?


Der Unicode-Standard definiert Codes für Zeichen in den wichtigsten modernen Sprachen. Dies sind europäische alphabetische Schriften, Schriften aus dem Nahen Osten von rechts nach links und viele asiatische Schriften.

Die Norm enthält auch Satzzeichen, diakritische Zeichen, mathematische Symbole, technische Symbole, Pfeile, Dingbats, Emojis usw. Sie enthält Codes für diakritische Zeichen, die Zeichen ändern, z. B. Tilden (~). Sie werden in Kombination mit einfachen Zeichen verwendet, um Zeichen mit Akzenten darzustellen (z. B. ñ). Im Allgemeinen bietet Unicode Version 9.0 Codes für 128.172 Zeichen aus Weltalphabeten, Ideogrammsätzen und Zeichensammlungen.

Die häufigsten Zeichen befinden sich in den ersten 64K-Codepunkten, einem Bereich des Codebereichs, der als mehrsprachige Hauptebene oder kurz BMP bezeichnet wird. Es stehen 16 weitere Ebenen zur Codierung anderer Zeichen mit über 850.000 nicht verwendeten Codepunkten zur Verfügung. Sie können nützlich sein, um zukünftigen Versionen des Standards neue Zeichen hinzuzufügen.

Der Unicode-Standard reserviert auch Codepunkte für den privaten Gebrauch. Anbieter oder Endbenutzer können sie in ihren eigenen Systemen für ihre Charaktere festlegen oder sie mit speziellen Schriftarten verwenden. Das BMP verfügt über 6400 Codepunkte für den privaten Gebrauch und weitere 131 068 zusätzliche Codepunkte für den privaten Gebrauch, wenn 6400 für bestimmte Anwendungen nicht ausreicht.

Unicode-Zeichenkodierungen


Zeichencodierungsstandards bestimmen nicht nur die Identität jedes Zeichens und seinen numerischen Wert oder Codepunkt, sondern auch, wie dieser Wert in Bits dargestellt wird.

Der Unicode-Standard definiert drei Codierungsformen, die die Übertragung derselben Daten ermöglichen: ein Byte, ein Wort und ein Doppelwort (d. H. 8, 16 oder 32 Bits pro Codeeinheit). Alle drei Formen codieren denselben gemeinsamen Zeichensatz und können effektiv ohne Datenverlust ineinander konvertiert werden. Das Unicode-Konsortium befürwortet uneingeschränkt die Verwendung einer dieser Kodierungsformen als vereinbarte Methode zur Implementierung des Unicode-Standards.

UTF-8 ist beliebt für HTML und ähnliche Protokolle. Mit UTF-8 können alle Unicode-Zeichen in eine Codierung mit variabler Bytelänge konvertiert werden. Der Vorteil besteht darin, dass Unicode-Zeichen, die dem bekannten ASCII-Satz entsprechen, dieselben Bytewerte wie ASCII haben und in UTF-8 konvertierte Unicode-Zeichen mit einer Vielzahl vorhandener Software ohne größere Softwaremodifikationen verwendet werden können.

UTF-16 ist in vielen Umgebungen beliebt, in denen ein Gleichgewicht zwischen effizientem Zugriff auf Zeichen und wirtschaftlichem Speicher erforderlich ist. Es ist recht kompakt und alle häufig verwendeten Zeichen sind in einem 16-Bit-Codeblock angeordnet, während alle anderen Zeichen über Paare von 16-Bit-Codeblöcken verfügbar sind.

UTF-32 ist nützlich, wenn die Speicherkapazität keine Rolle spielt, jedoch der Zugriff auf Zeichen in einem einzigen Code mit fester Breite erforderlich ist. Hier wird jedes Unicode-Zeichen in einem einzelnen 32-Bit-Codeblock codiert.

Alle drei Codierungsarten erfordern nicht mehr als 4 Bytes (oder 32 Bits) für jedes Zeichen.

Sprechen Sie über Zahlen


Der Unicode-Zeichensatz ist in 17 Hauptsegmente (Ebenen) unterteilt, die weiter in Blöcke unterteilt sind. In jeder Ebene gibt es einen Platz für 65 536 (2 16 ) Codepunkte, wodurch insgesamt 1.114.112 Codepunkte erstellt werden. Es gibt zwei Flugzeuge für den privaten Gebrauch (Nr. 16 und Nr. 17), die nach Ermessen der Unternehmen / Nutzer zugeteilt werden. Sie haben 131.072 Codepunkte.

NrTitelReichweite
1.Hauptflugzeug mehrsprachig(von U + 0000 bis U + FFFF)
2.Zusätzliches mehrsprachiges Flugzeug(von U + 10000 bis U + 1FFFF)
3.Zusätzliche ideografische Ebene(von U + 20.000 bis U + 2FFFF)
4.Tertiäre ideografische Ebene(von U + 30000 bis U + 3FFFF)
5.Flugzeug 5 (nicht verwendet)(von U + 40.000 bis U + 4FFFF)
6.Flugzeug 6 (nicht verwendet)(von U + 50.000 bis U + 5FFFF)
7.Flugzeug 7 (nicht verwendet)(von U + 60.000 bis U + 6FFFF)
8.Flugzeug 8 (nicht verwendet)(von U + 70.000 bis U + 7FFFF)
9.Flugzeug 9 (nicht verwendet)(von U + 80.000 bis U + 8FFFF)
10.Flugzeug 10 (nicht verwendet)(von U + 90.000 bis U + 9FFFF)
11.Flugzeug 11 (nicht verwendet)(von U + A0000 bis U + AFFFF)
12.Ebene 12 (nicht verwendet)(von U + B0000 bis U + BFFFF)
13.Ebene 13 (nicht verwendet)(von U + C0000 bis U + CFFFF)
14.Ebene 14 (nicht verwendet)(von U + D0000 bis U + DFFFF)
15.Spezialisiertes zusätzliches Flugzeug(von U + E0000 bis U + EFFFF)
16.Zusätzlicher Bereich für den privaten Gebrauch - A(von U + F0000 bis U + FFFFF)
17.Zusätzlicher Bereich für den privaten Gebrauch - B(von U + 100000 bis U + 10FFFF)

Die erste Ebene wird als mehrsprachige Hauptebene oder BMP bezeichnet. Es enthält Codepunkte von U + 0000 bis U + FFFF, dh die am häufigsten verwendeten Zeichen. Die restlichen 16 Ebenen (U + 010000 → U + 10FFFF) werden zusätzlich oder astral genannt.

Ersatzpaare UTF-16


Symbole außerhalb der Hauptebene, wie ein Tetragramm, das die Mitte (U + 1D306) bedeutet, können in UTF-16 mit nur zwei 16-Bit-Codeeinheiten codiert werden: 0xD834 0xDF06. Dies wird als Ersatzpaar bezeichnet. Bitte beachten Sie, dass ein Ersatzpaar nur ein Zeichen darstellt.

Die erste Codeeinheit eines Ersatzpaares liegt immer im Bereich von 0xD800 bis 0xDBFF und wird als oberer Teil des Paares bezeichnet.

Die zweite Codeeinheit des Ersatzpaares liegt immer im Bereich von 0xDC00 bis 0xDFFF und wird als unterste der Paare bezeichnet.

Matthias Binens

Ersatzcode-Paar: Eine Darstellung eines abstrakten Symbols, bestehend aus einer Folge von zwei 16-Bit-Code-Einheiten, wobei der erste Wert des Paares die oberste Ersatzcode-Einheit und der zweite die untere Ersatzcode-Einheit ist. Ersatzpaare werden nur in UTF-16 verwendet.

Unicode 8.0 Kapitel 3.8 - Ersatzzeichen

Berechnung von Ersatzpaaren


Das Unicode-Zeichen "Pile of Shit" (U + 1F4A9) in UTF-16 muss als Ersatzpaar codiert werden, dh als zwei Ersatzzeichen. Verwenden Sie diesen Algorithmus (in JavaScript), um einen Codepunkt in ein Ersatzpaar umzuwandeln. Denken Sie daran, dass wir hexadezimale Notation verwenden.

var High_Surrogate = function(Code_Point){ return Math.floor((Code_Point - 0x10000) / 0x400) + 0xD800 }; var Low_Surrogate = function(Code_Point){ return (Code_Point - 0x10000) % 0x400 + 0xDC00 }; // Reverses The Conversion var Code_Point = function(High_Surrogate, Low_Surrogate){ return (High_Surrogate - 0xD800) * 0x400 + Low_Surrogate - 0xDC00 + 0x10000; }; 



Zusammensetzung und Zersetzung


Unicode enthält einen Mechanismus zum Ändern der Form eines Zeichens, durch den die unterstützte Menge von Glyphen erheblich erweitert wird. Dies gilt für kombinierbare diakritische Zeichen. Sie werden nach dem Hauptcharakter eingefügt. Es können mehrere diakritische Zeichen auf dasselbe Zeichen angewendet werden. Unicode enthält auch vorkompilierte Versionen der meisten dieser Kombinationen für den normalen Gebrauch.

Einige Zeichenfolgen können auch als ein einzelnes Zeichen dargestellt werden, das als vorkomponiertes Zeichen oder als zusammengesetztes Zeichen bezeichnet wird. Beispielsweise kann das Zeichen [ü] als einziger Codepunkt U + 00FC oder als Basiszeichen U + 0075 (u) gefolgt vom nicht eigenständigen Zeichen U + 0308 (¨) codiert werden. Der Unicode-Standard codiert zusammengesetzte Zeichen, um die Kompatibilität mit gängigen Standards wie Latin 1 zu gewährleisten. Dazu gehören viele zusammengesetzte Zeichen wie [ü] und [ñ].

Zusammengesetzte Zeichen können aus Gründen der Konsistenz oder Analyse erweitert werden. Wenn Sie beispielsweise alphabetisch sortieren, kann das Symbol [ü] in [u] gefolgt vom nicht unabhängigen Symbol [¨] zerlegt werden. Nach einer solchen Zerlegung ist es einfacher, mit einer Folge von Zeichen zu arbeiten. Dies erleichtert das Sortieren in Sprachen, in denen sich Zeichenmodifikatoren nicht auf die alphabetische Reihenfolge auswirken. Der Unicode-Standard legt die Zerlegungsreihenfolge für alle zusammengesetzten Zeichen fest. Es definiert auch Formen der Normalisierung, um eindeutige Darstellungen von Zeichen bereitzustellen.

Unicode-Mythen


Aus den Folien der Präsentation von Mark Davis "Mythen von Unicode".

  • Unicode ist nur 16-Bit-Code . - Einige Leute glauben fälschlicherweise, dass Unicode nur ein 16-Bit-Code ist, bei dem jedes Zeichen 16 Bit belegt, und daher gibt es 65.536 mögliche Zeichen. In der Tat ist dies nicht ganz richtig. Dies ist der häufigste Unicode-Mythos. Wenn Sie dies auch schon einmal dachten, lassen Sie sich nicht entmutigen.
  • Sie können jeden Codepunkt verwenden, der nicht für Ihre Anforderungen verwendet wird . - Nein. Eines Tages wird dieser Ort durch ein anderes Symbol ersetzt. Verwenden Sie stattdessen Flugzeuge für den privaten Gebrauch oder Bereiche ohne Zeichen in jeder Ebene, in denen standardmäßig keine Zeichen vorhanden sind.
  • Jeder Unicode-Codepunkt repräsentiert ein Zeichen . - Nein. Es gibt viele Punkte ohne Zeichen (FFFE, FFFF, 1FFFE usw.), außerdem Ersatzcodepunkte, private und nicht verwendete Codepunkte sowie Steuer- / Formatierungszeichen (RLM, ZWNJ usw.).
  • Unicode hat keinen Speicherplatz mehr . - Wenn es linear gefüllt wäre, wäre es 2140 zu Ende gegangen. Der Platz füllt sich aber nicht linear. Zukunftspläne finden Sie hier .
  • Alle Zeichen sind eins zu eins zugeordnet . - Nein. Die Optionen sind:
    • Eins zu viele: (β → SS)
    • Vor dem Hintergrund: (... Σ ← → ... ς und gleichzeitig ... ΣΤ ... ← → ... στ ...)
    • Basierend auf dem Gebietsschema: (I ← → ı und gleichzeitig İ ← → i)

Unicode-Anwendungscodierungen


CodierungsartBeispiel
HTML-Objekt (dezimal)
HTML-Objekt (hex)
URL-Kontrollcode% F0% 9F% 96% 96
UTF-8 (hex)0xF0 0x9F 0x96 0x96 (f09f9696)
UTF-8 (binär)11110000: 10011111: 10010110: 10010110
UTF-16 / UTF-16BE (hex)0xD83D 0xDD96 (d83ddd96)
UTF-16LE (hex)0x3DD8 0x96DD (3dd896dd)
UTF-32 / UTF-32BE (hex)0x0001F596 (0001f596)
UTF-32LE (hex)0x96F50100 (96f50100)
Oktale Escape-Sequenz\ 360 \ 237 \ 226 \ 226

Quellcode


CodierungsartBeispiel
Javascript\ u1F596
Json\ u1F596
C\ u1F596
C ++\ u1F596
Java\ u1F596
Python\ u1F596
Perl\ x {1F596}
Ruby\ u {1F596}
CSS\ 01F596

Liste der erstaunlichen Charaktere.



Das Teilen eines Dokuments kann die Bearbeitung schnell in einen schriftlichen Rap-Kampf verwandeln, der von einer zunehmend verwirrenden Anordnung von Managern von U + 202a bis U + 202e geführt wird

Sonderzeichen


Das Unicode-Konsortium hat ein allgemeines Interpunktionsdiagramm veröffentlicht, in dem Sie weitere Informationen finden.

SymbolTitelBeschreibung
''U + FEFF Unterbrechungsfreier Raum der Breite Null (Byte Order Mark - BOM)Es hat eine wichtige Eigenschaft der Eindeutigkeit, wenn die Reihenfolge der Bytes geändert wird. Es hat auch keine Breite und Unsichtbarkeit. In unangemessener Software (wie einem PHP-Interpreter) führt dies zu allen möglichen Beispielen für unterhaltsames Verhalten.
'￯''\ uFFEF' Stückliste stornierenMit Ausnahme des Textanfangs nicht mit einem Zeichen gleichgesetzt.
'​''\ u200B' Nicht unterbrechender Raum mit einer Breite von NullEin Symbol ohne Aussehen und ohne Wirkung, außer um die Bildung von Ligaturen zu verhindern.
' 'U + 00A0 Raum ohne UnterbrechungLässt benachbarte Zeichen zusammenhalten. Bekannt als   in HTML.
''U + 00AD Weicher BindestrichIn HTML funktioniert es wie ein Leerzeichen ohne Breite, aber wenn es auf das Ende einer Zeile trifft (und nur in diesem Fall), wird ein Bindestrich angezeigt.
'‍'U + 200D Nullbreitenzeichen (mit Anschluss)Bewirkt, dass benachbarte Zeichen verbunden werden (z. B. arabische Zeichen oder unterstützte Emojis). Kann für sequentiell kombinierte Emojis verwendet werden.
'⁠'U + 2060 Word ConnectorWie U + 00A0, jedoch völlig unsichtbar. Gut für @ font-face auf Twitter.
' 'U + 1680 Ogham LeerzeichenMarkiert ein Leerzeichen, das wie ein Bindestrich aussieht. Großartig, um Programmierer dem Wahnsinn näher zu bringen: 1 + 2 === 3.
';'U + 037E Griechisches FragezeichenSieht aus wie ein Semikolon. Auch eine lustige Art, Entwickler zu trollen.
'‭'U + 202DÄndert die Richtung des Texts von links nach rechts.
'‮'U + 202EÄndert die Richtung des Texts von rechts nach links.
'ꓸ'U + A4F8 Lisu Buchstabenton mya tiVerdoppeln Sie für den Punkt.
'ꓹ'U + A4F9 Lisu Buchstabenton na poDouble für ein Komma.
'ꓼ'U + A4FC Lisu Buchstabenton mya naDouble für Semikolon.
'ꓽ'U + A4FD Lisu Buchstabenton mya jeuDouble für den Doppelpunkt.
'︀'Optionsschalter (von U + FE00 bis U + FE0F und von U + E0100 bis U + E01EF)Ein Block mit 256 Zeichen der Breite Null mit der Eigenschaft ID_Continue kann in Variablennamen (nicht im ersten Buchstaben) verwendet werden. Das Besondere an ihnen ist, dass der Mauszeiger über sie fährt, da sie im Gegensatz zu den meisten anderen Zeichen mit der Breite Null Zeichen kombinieren.
'ᅟ'U + 115F Platzhalter Hangul ChosonFüllt im Wesentlichen den Raum. Wird als Zeichen mit der Breite Null (unsichtbar) gerendert, sofern dies beim Rendern nicht ausdrücklich unterstützt wird. Als ID_Start markiert
'ᅠ'U + 1160 Platzhalter ChunsonVielleicht füllt der Raum? Wird als Zeichen mit der Breite Null (unsichtbar) gerendert, sofern dies beim Rendern nicht ausdrücklich unterstützt wird. Als ID_Start markiert
'ㅤ'U + 3164 Hangul-AggregatIm Allgemeinen füllt es den Raum. Wird als Zeichen mit der Breite Null (unsichtbar) gerendert, sofern dies beim Rendern nicht ausdrücklich unterstützt wird. Als ID_Start markiert

Warten Sie ... was habe ich gerade gelesen?

Variablenbezeichner können Leerzeichen enthalten!


Der Hangul-Platzhalter U + 3164 wird als breites Leerzeichen angezeigt. Wenn das Zeichen beim Rendern eindeutig nicht unterstützt wird, wird es als vollständig unsichtbar angezeigt (und beansprucht keinen Platz, d. H. "Breite Null"). Dies bedeutet, dass Sie niemals ein hässliches Zeichen als Ersatzzeichen ( ) sehen werden.

Ich bin mir noch nicht sicher, warum U + 3164 angewiesen ist, sich so zu verhalten. Interessanterweise wurde U + 3164 in Version 1.1 (1993) zu Unicode hinzugefügt - so hatten die Konsortialspezialisten viel Zeit, um darüber nachzudenken. Wie auch immer, hier sind ein paar Beispiele.

 > var ᅟ = 'foo'; undefined > ᅟ 'foo' > var ㅤ= alert; undefined > var foo = 'bar' undefined > if ( foo ===ㅤ`baz` ){} // alert undefined > var varㅤfooㅤ\u{A60C}ㅤπ = 'bar'; undefined > varㅤfooㅤꘌㅤπ 'bar' 

** Hinweis: ** Ich habe U + 3164-Rendering unter Ubuntu und OS X mit den folgenden Parametern getestet: `node`,` php`, `ruby`,` python3.5`, `scala`,` vim`, `cat` , `chrome` +` github gist '. Atom ist das einzige System, bei dem (fälschlicherweise) leere Felder angezeigt werden. Ich habe den Code in Emacs und Sublime noch nicht überprüft. Soweit ich weiß, weist das Unicode-Konsortium keine Zeichen oder Codepunkte neu zu oder benennt sie um, kann jedoch dazu überredet werden, die Eigenschaften von Zeichen wie ID_Start und ID_Continue zu ändern.

Modifikatoren


Zero Width Combiner (ZWJ) ist ein nicht druckbares Zeichen in einem Computersatz komplexer Schriftarten, z. B. arabischer oder indischer Schriftarten. Wenn sie zwischen zwei Zeichen platziert werden, die sonst nicht verbunden wären, werden sie von ZWJ gezwungen, in kombinierter Form zu drucken.

Der Zero Width Disconnector (ZWNJ) ist ein nicht druckbares Zeichen in computergestützten Schreibsätzen mit Ligaturen. Wenn sie zwischen zwei Zeichen platziert werden, die ansonsten zu einer Ligatur verbunden wären, werden sie von ZWNJ gezwungen, in ihrer endgültigen bzw. ursprünglichen Form zu drucken. Fungiert als Leerzeichen, wird jedoch verwendet, wenn es wünschenswert ist, Wörter nahe beieinander zu halten oder ein Wort mit seinem Morphem zu kombinieren.

 > 'a' "a" > 'a\u{0308}' "ä" > 'a\u{20DE}\u{0308}' "a⃞̈" > 'a\u{20DE}\u{0308}\u{20DD}' "a⃞̈⃝" // Modifying Invisible Characters > '\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}' "‎‎‎‎‎‎‎‎‎‎" > '\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}\u{200E}'.length 10 

Großbuchstaben transformieren Kollisionen


SymbolCodepunktErgebnis
ß0x00DFSS
ı0x0131I
ſ0x017FS
0xFB00FF
fi0xFB01FI
fl0xFB02FL
0xFB03FFI
0xFB04FFL
0xFB05ST
0xFB06ST

Konvertierungskollisionen in Kleinbuchstaben


SymbolCodepunktErgebnis
K0x212Ak

Macken und Fehlerbehebung


  • Die Linienlänge wird normalerweise durch die Anzahl der Codepunkte bestimmt . Dies bedeutet, dass Ersatzpaare als zwei Zeichen betrachtet werden. Einem Symbol können mehrere diakritische Zeichen überlagert werden: a + ̈ == ̈a . Dies erhöht die Länge der Zeichenfolge und erzeugt nur ein Zeichen.
  • In ähnlicher Weise wird die String-Inversion häufig zu einer nicht trivialen Aufgabe . Auch hier sollten Ersatzpaare und diakritische Zeichen gemeinsam vertauscht werden. ES Reverser bietet eine ziemlich gute Lösung.
  • Vergleiche zwischen Groß- und Kleinbuchstaben stimmen nicht immer überein . Sie können in solchen Beziehungen ausgedrückt werden:

    • Eins zu viele: (ß → SS)
    • Vor dem Hintergrund: (... Σ ← → ... ς und ... ΣΤ ... ← → ... στ ...)
    • Basierend auf dem Gebietsschema: (I ← → ı und İ ← → i)

    Ein bis viele Vergleiche


    Die meisten der unten aufgeführten Zeichen drücken ihre Eins-zu-Viele-Zuordnungen in Großbuchstaben und andere in Kleinbuchstaben aus. Grundsätzlich kann die Liste in zwei Teile unterteilt werden.

    CodepunktSymbolTitelAssoziierter CharakterZugehörige Codepunkte
    U + 00DFßLateinisches Kleinbuchstaben-Escet (S-akut)s , sU + 0073, U + 0073
    U + 0130İLateinischer Großbuchstabe "I" mit einem Punkt darüberi , ̇U + 0069, U + 0307
    U + 0149ʼnLateinischer Kleinbuchstabe "n" nach dem vorhergehenden Apostrophʼ , nU + 02BC, U + 006E
    U + 01F0ǰLateinischer Kleinbuchstabe jj , ̌U + 006A, U + 030C
    U + 0390ΐGriechische Kleinbuchstaben Iota mit Dialyse und Tonos.ι , ̈ ,U + 03B9, U + 0308, U + 0301
    U + 03B0ΰGriechischer Kleinbuchstabe Ipsilon mit Dialyse und Tonos.υ , ̈ ,U + 03C5, U + 0308, U + 0301
    U + 0587ևArmenische Kleinligatur ech yiwnե , ւU + 0565, U + 0582
    U + 1E96Lateinischer Kleinbuchstabe h mit einer Zeile darunterh ,U + 0068, U + 0331
    U + 1E97Lateinischer Kleinbuchstabe t mit Diereset , ̈U + 0074, U + 0308
    U + 1E98Lateinischer Kleinbuchstabe w mit Ring obenw , ̊U + 0077, U + 030A
    U + 1E99Lateinischer Kleinbuchstabe y mit Ring obeny , ̊U + 0079, U + 030A
    U + 1E9ALateinischer Kleinbuchstabe a mit rechter Ringhälftea , ʾU + 0061, U + 02BE
    U + 1E9ELateinischer Großbuchstabe akut ss , sU + 0073, U + 0073
    U + 1F50Griechischer Kleinbuchstabe Ipsilon mit Psil̓ , ̓U + 03C5, U + 0313
    U + 1F52Griechischer Kleinbuchstabe Ipsilon mit Psili und Variaυ , ̓ ,U + 03C5, U + 0313, U + 0300
    U + 1F54Griechischer Kleinbuchstabe Ipsilon mit Psily und Oxyυ , ̓ ,U + 03C5, U + 0313, U + 0301
    U + 1F56Griechischer Kleinbuchstabe Ipsilon mit Psily und Perisomυ , ̓ ,U + 03C5, U + 0313, U + 0342
    U + 1F80Griechischer Kleinbuchstabe Alpha mit Psili und Ipogemen , ιU + 1F00, U + 03B9
    U + 1F81Griechischer Kleinbuchstabe Alpha mit Dasia und Ipogemen , ιU + 1F01, U + 03B9
    U + 1F82Griechischer Kleinbuchstabe Alpha mit Psilia und Varia und Ipogemen , ιU + 1F02, U + 03B9
    U + 1F83Griechischer Kleinbuchstabe Alpha mit Dasia und Varia und Ipogemen , ιU + 1F03, U + 03B9
    U + 1F84Griechischer Kleinbuchstabe Alpha mit Psily und Oxy und Ipogemen , ιU + 1F04, U + 03B9
    U + 1F85Griechischer Kleinbuchstabe Alpha mit Dasia und Oxy und Ipogemen , ιU + 1F05, U + 03B9
    U + 1F86Griechischer Kleinbuchstabe Alpha mit Psily und Perispomenti und Ipogemen , ιU + 1F06, U + 03B9
    U + 1F87Griechischer Kleinbuchstabe Alpha mit Dasia und Perispomenti und Hypogrammen , ιU + 1F07, U + 03B9
    U + 1F88Griechischer Großbuchstabe Alpha mit Psil und Programmierern , ιU + 1F00, U + 03B9
    U + 1F89Griechischer Großbuchstabe Alpha mit Dasia und Programmierern , ιU + 1F01, U + 03B9
    U + 1F8AGriechischer Großbuchstabe Alpha mit Psilia und Varia und Programmen , ιU + 1F02, U + 03B9
    U + 1F8BGriechischer Großbuchstabe Alpha mit Dasia und Varia und Prog , ιU + 1F03, U + 03B9
    U + 1F8CGriechischer Großbuchstabe Alpha mit Psily und Oxy und Prog , ιU + 1F04, U + 03B9
    U + 1F8DGriechischer Großbuchstabe Alpha mit Dasia und Oxy und Programmierern , ιU + 1F05, U + 03B9
    U + 1F8EGriechischer Großbuchstabe Alpha mit Psily und Perispomenti und Programmierkenntnissen , ιU + 1F06, U + 03B9
    U + 1F8FGriechischer Großbuchstabe Alpha mit Dasia und Perispomenti und Progs , ιU + 1F07, U + 03B9
    U + 1F90Griechischer Kleinbuchstabe dieses mit psily und ipogemen , ιU + 1F20, U + 03B9
    U + 1F91Griechischer Kleinbuchstabe a mit Dasia und Ipogemen , ιU + 1F21, U + 03B9
    U + 1F92Griechischer Kleinbuchstabe dies mit Psilia und Varia und Ipogemen , ιU + 1F22, U + 03B9
    U + 1F93Griechischer Kleinbuchstabe eta mit demia und varia und ipogemen , ιU + 1F23, U + 03B9
    U + 1F94Griechischer Kleinbuchstabe a mit Psilia und Oksia und Ipogemen , ιU + 1F24, U + 03B9
    U + 1F95Griechischer Kleinbuchstabe eta mit demia und oksia und ipogemen , ιU + 1F25, U + 03B9
    U + 1F96Griechischer Kleinbuchstabe dieses mit psily und perispomenti und ipogemen , ιU + 1F26, U + 03B9
    U + 1F97Griechischer Kleinbuchstabe eta mit Dasia und Perisopmenti und Hypogrammen , ιU + 1F27, U + 03B9
    U + 1F98Griechischer Großbuchstabe dies mit Psila und Programmen , ιU + 1F20, U + 03B9
    U + 1F99Griechischer Großbuchstabe dies mit Dasia und Programmierern , ιU + 1F21, U + 03B9
    U + 1F9AGriechischer Großbuchstabe dies mit Psilia und Varia und Prosgrammemenie , ιU + 1F22, U + 03B9
    U + 1F9BGriechischer Großbuchstabe dies mit Dasia und Varia und Prosgrammemenie , ιU + 1F23, U + 03B9
    U + 1F9CGriechischer Großbuchstabe dies mit Psilia und Oxy und Programmen , ιU + 1F24, U + 03B9
    U + 1F9DGriechischer Großbuchstabe dies mit Dasia und Oksia und Programmierern , ιU + 1F25, U + 03B9
    U + 1F9EGriechischer Großbuchstabe dies mit psily und perispomenty und prosgrammeny , ιU + 1F26, U + 03B9
    U + 1F9FGriechischer Großbuchstabe dies mit Dasia und Perispomenti und Programmen , ιU + 1F27, U + 03B9
    U + 1FA0Griechischer Kleinbuchstabe Omega mit Psili und Ipogemen , ιU + 1F60, U + 03B9
    U + 1FA1Griechischer Kleinbuchstabe Omega mit Dasia und Ipogemen , ιU + 1F61, U + 03B9
    U + 1FA2Griechischer Kleinbuchstabe Omega mit Psilia und Varia und Ipogemen , ιU + 1F62, U + 03B9
    U + 1FA3Griechischer Kleinbuchstabe Omega mit Dasia und Varia und Ipogemen , ιU + 1F63, U + 03B9
    U + 1FA4Griechischer Kleinbuchstabe Omega mit Psily und Oxy und Ipogemen , ιU + 1F64, U + 03B9
    U + 1FA5Griechischer Kleinbuchstabe Omega mit Dasia und Oxy und Ipogemen , ιU + 1F65, U + 03B9
    U + 1FA6Griechischer Kleinbuchstabe Omega mit psily und perispomenti und ipogemen , ιU + 1F66, U + 03B9
    U + 1FA7Griechischer Kleinbuchstabe Omega mit Dasia und Perispomenti und Hypogrammemen , ιU + 1F67, U + 03B9
    U + 1FA8Griechischer Großbuchstabe Omega mit Psili und Programm , ιU + 1F60, U + 03B9
    U + 1FA9Griechischer Großbuchstabe Omega mit Dasia und Programmierern , ιU + 1F61, U + 03B9
    U + 1FAAGriechischer Großbuchstabe Omega mit Psilia und Varia und Prosgrammemeny , ιU + 1F62, U + 03B9
    U + 1FABGriechischer Großbuchstabe Omega mit Dasia und Varia und Programmierern , ιU + 1F63, U + 03B9
    U + 1FACGriechischer Großbuchstabe Omega mit Psilia und Oxy und Progamemen , ιU + 1F64, U + 03B9
    U + 1FADGriechischer Großbuchstabe Omega mit Dasia und Oksia und Programmierern , ιU + 1F65, U + 03B9
    U + 1FAEGriechischer Großbuchstabe Omega mit Psily und Perispomenti und Prosgrammemeny , ιU + 1F66, U + 03B9
    U + 1FAFGriechischer Großbuchstabe Omega mit Dasia und Perispomenti und Prosgrammemeny , ιU + 1F67, U + 03B9
    U + 1FB2Griechischer Kleinbuchstabe Alpha mit Varia und Ipogemen , ιU + 1F70, U + 03B9
    U + 1FB3Griechischer Kleinbuchstabe Alpha mit Ogogerammeniα , ιU + 03B1, U + 03B9
    U + 1FB4Griechischer Kleinbuchstabe Alpha mit Oxy und Ipogemenά , ιU + 03AC, U + 03B9
    U + 1FB6Griechischer Kleinbuchstabe Alpha mit Perispomentiα ,U + 03B1, U + 0342
    U + 1FB7Griechischer Kleinbuchstabe Alpha mit Perispomenti und Ipogemenα , ͂ ιU + 03B1, U + 0342, U + 03B9
    U + 1FBCGriechischer Großbuchstabe Alpha mit Progsα , ιU + 03B1, U + 03B9
    U + 1FC2Griechischer Kleinbuchstabe et mit varia und ipogemen , ιU + 1F74, U + 03B9
    U + 1FC3Griechischer Kleinbuchstabe a mit ipogemenη , ιU + 03B7, U + 03B9
    U + 1FC4Griechischer Kleinbuchstabe eta mit oxy und ipogemenή , ιU + 03AE, U + 03B9
    U + 1FC6Griechischer Kleinbuchstabe a mit Perispomentiη ,U + 03B7, U + 0342
    U + 1FC7Griechischer Kleinbuchstabe a mit Perispomenti und Ipogemenη , ͂ ιU + 03B7, U + 0342, U + 03B9
    U + 1FCCGriechischer Großbuchstabe dies mit Progη , ιU + 03B7, U + 03B9
    U + 1FD2Griechische Kleinbuchstaben Iota mit Dialyse und Variaι , ̈ ,U + 03B9, U + 0308, U + 0300
    U + 1FD3Griechischer Kleinbuchstabe Iota mit Dialyse und Oxyι , ̈ ,U + 03B9, U + 0308, U + 0301
    U + 1FD6Griechische Kleinbuchstaben Iota mit Perispomentiι ,U + 03B9, U + 0342
    U + 1FD7Griechischer Kleinbuchstabe Iota mit Dialyse und Periodeι , ̈ ,U + 03B9, U + 0308, U + 0342
    U + 1FE2Griechischer Kleinbuchstabe Ipsilon mit Dialyse und Varia.υ , ̈ ,U + 03C5, U + 0308, U + 0300
    U + 1FE3Griechischer Kleinbuchstabe Ipsilon mit Dialyse und Oxy.υ , ̈ ,U + 03C5, U + 0308, U + 0301
    U + 1FE4Griechisches Rho in Kleinbuchstaben mit Psiliρ , ̓U + 03C1, U + 0313
    U + 1FE6Griechischer Kleinbuchstabe Ipsilon mit PerispomentiυU + 03C5, U + 0342
    U + 1FE7Griechischer Kleinbuchstabe Ipsilon mit Dialyse und Punktυ , ̈ ,U + 03C5, U + 0308, U + 0342
    U + 1FF2Griechischer Kleinbuchstabe Omega mit Varia und Ipogemen , ιU + 1F7C, U + 03B9
    U + 1FF3Griechischer Kleinbuchstabe Omega mit Ogogerammeniω , ιU + 03C9, U + 03B9
    U + 1FF4Griechischer Kleinbuchstabe Omega mit Oxia und Ipogemenώ , ιU + 03CE, U + 03B9
    U + 1FF6Griechischer Kleinbuchstabe Omega mit Perispomentiω ,U + 03C9, U + 0342
    U + 1FF7Griechischer Kleinbuchstabe Omega mit Perispomenti und Ipogemenω , ͂ ιU + 03C9, U + 0342, U + 03B9
    U + 1FFCGriechischer Großbuchstabe Omega mit Programmω , ιU + 03C9, U + 03B9
    U + FB00Lateinische Kleinbuchstaben Fff fU + 0066, U + 0066
    U + FB01Lateinische Kleinbuchstaben Fif , iU + 0066, U + 0069
    U + FB02Lateinische Kleinbuchstaben Flf lU + 0066, U + 006C
    U + FB03Lateinische Kleinbuchstaben Ffif , f , iU + 0066, U + 0066, U + 0069
    U + FB04Lateinische Kleinbuchstaben Fflf , f , lU + 0066, U + 0066, U + 006C
    U + FB05Lateinische Kleinbuchstaben lang STs , tU + 0073, U + 0074
    U + FB06Lateinische Kleinbuchstaben Sts , tU + 0073, U + 0074
    U + FB13Armenische Kleinbuchstaben Men Nowմ , նU + 0574, U + 0576
    U + FB14Armenische Kleinbuchstaben Männer Echմ , եU + 0574, U + 0565
    U + FB15Armenische Kleinbuchstaben Men Iniմ , իU + 0574, U + 056B
    U + FB16Armenische Kleinbuchstaben Vew Nowվ , նU + 057E, U + 0576
    U + FB17Armenische Kleinbuchstaben Men Xehմ , խU + 0574, U + 056D

    Tolle Pakete und Bibliotheken


    • PhantomScript -: ghost :: flashlight : Ausführen von unsichtbarem JavaScript und Social Engineering
    • ESReverser - Unicode- basiertes JavaScript-String-Handling.
    • mimic - Missbrauch von Unicode
    • python-ftfy - Versucht, die maximale korrekte und vollständige Darstellung des in Unicode empfangenen Texts zu erstellen.
    • vim-troll-stopper - Schützen Sie Ihren Code vor Unicode-Trollen.

    Emoji




    Unicode (diversity), . .

    , , . — . :

    Rezept
    U+1F469 U+200D U+2764 U+FE0F U+200D U+1F469️‍️‍️‍couple with heart: woman, woman
    U+1F468 U+200D U+1F468 U+200D U+1F467 U+200D U+1F466

    , .

    8.0 ( 2015 ) - . , ( , FitzpatrickSkinType.pdf). .

    Unicode

    CodeTitelBeispiele
    U+1F3FB-1-2
    U+1F3FC-3
    U+1F3FD-4
    U+1F3FE-5
    U+1F3FF-6

    , \u{1F466}\u{1F3FE} .


    +






    JavaScript (ES6)

    , ID_START , . , ID_CONTINUE , .

     // How convenient! var π = Math.PI; // Sometimes, you just have to use the Bad Parts of JavaScript: var ಠ_ಠ = eval; // Code, YU NO WORK?! var ლ_ಠ益ಠ_ლ = 42; // How about a JavaScript library for functional programming? var λ = function() {}; // Obfuscate boring variable names for great justice var \u006C\u006F\u006C\u0077\u0061\u0074 = 'heh'; // …or just make up random ones var Ꙭൽↈⴱ = 'huh'; // While perfectly valid, this doesn't work in most browsers: var foo\u200Cbar = 42; // This is *not* a bitwise left shift (`<<`): var 〱〱 = 2; // This is, though: 〱〱 << 〱〱; // 8 // Give yourself a discount: var price_9̶9̶_89 = 'cheap'; // Fun with Roman numerals var Ⅳ = 4; var Ⅴ = 5; Ⅳ + Ⅴ; // 9 // Cthulhu was here var Hͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈T̡̯̳̭̜̠͕͌̈́̽̿ͤ̿̅̑Ḧ̱̱̺̰̳̹̘̰́̏ͪ̂̽͂̀͠ = 'Zalgo'; 

    CSS .

     <!-- place this within the document head --> <meta charset="UTF-8" /> <!-- error message --> <div class="ಠ_ಠ">You do not have access to this page.</div> <!-- success message --> <div class="">Your changes have been saved successfully!</div> 

     .ಠ_ಠ { border: 1px solid #f00; } . { background: lightgreen; } 

    HTML


    HTML- , , .

    , HTML .

     // U+1160 HANGUL JUNGSEONG FILLER transformAllTags('ᅠ'); // An actual HTML element node designed to look like a comment node, using the U+01C3 LATIN LETTER RETROFLEX CLICK // <ǃ-- name="viewport" content="width=device-width"></ǃ--> transformAllTags('ǃ--'); // or even <ᅠ⃝ transformAllTags('\u{1160}\u{20dd}'); // and for a bonus, all existing tag names will have each character ensquared. h⃞t⃞m⃞l⃞ transformAllTags(); function transformAllTags (newName){ // querySelectorAll doesn't actually return an array. Array.from(document.querySelectorAll('*')) .forEach(function(x){ transformTag(x, newName); }); } function wonky(str){ return str.split('').join('\u{20de}') + '\u{20de}'; } function transformTag(tagIdOrElem, tagType){ var elem = (tagIdOrElem instanceof HTMLElement) ? tagIdOrElem : document.getElementById(tagIdOrElem); if(!elem || !(elem instanceof HTMLElement))return; var children = elem.childNodes; var parent = elem.parentNode; var newNode = document.createElement(tagType||wonky(elem.tagName)); for(var a=0;a<elem.attributes.length;a++){ newNode.setAttribute(elem.attributes[a].nodeName, elem.attributes[a].value); } for(var i= 0,clen=children.length;i<clen;i++){ newNode.appendChild(children[0]); //0...always point to the first non-moved element } newNode.style.cssText = elem.style.cssText; parent.replaceChild(newNode,elem); } 

    :

     function testBegin(str){ try{ eval(`document.createElement( '${str}' );`) return true; } catch(e){ return false; } } function testContinue(str){ try{ eval(`document.createElement( 'a${str}' );`) return true; } catch(e){ return false; } } 

    :

     // Test if dashes can start an HTML Tag > testBegin('-') < false > testContinue('-') < true > testBegin('ᅠ-') // Prepend dash with U+1160 HANGUL JUNGSEONG FILLER < true 


    TrueType OpenType UTF-8, 65 535 . 1,1 UTF-8, .








    256 .



    , () (CJK). , , « ».


    . 17- .

    TitelVonZu#
    U+0000U+007F128
    — 1U+0080U+00FF128
    — AU+0100U+017F128
    — BU+0180U+024F208
    U+0250U+02AF96
    U+02B0U+02FF80
    U+0300U+036F112
    U+0370U+03FF135
    U+0400U+04FF256
    U+0500U+052F48
    U+0530U+058F89
    U+0590U+05FF87
    U+0600U+06FF255
    U+0700U+074F77
    U+0750U+077F48
    U+0780U+07BF50
    U+07C0U+07FF59
    U+0800U+083F61
    U+0840U+085F29.
    — AU+08A0U+08FF50
    U+0900U+097F128
    U+0980U+09FF93
    U+0A00U+0A7F79
    U+0A80U+0AFF85
    U+0B00U+0B7F90
    U+0B80U+0BFF72
    U+0C00U+0C7F96
    U+0C80U+0CFF87
    U+0D00U+0D7F100
    U+0D80U+0DFF90
    U+0E00U+0E7F87
    U+0E80U+0EFF67
    U+0F00U+0FFF211
    U+1000U+109F160
    U+10A0U+10FF88
    U+1100U+11FF256
    U+1200U+137F358
    U+1380U+139F26
    U+13A0U+13FF92
    U+1400U+167F640
    U+1680U+169F29.
    RunenU+16A0U+16FF89
    U+1700U+171F20
    U+1720U+173F23
    U+1740U+175F20
    U+1760U+177F18
    U+1780U+17FF114
    U+1800U+18AF156
    U+18B0U+18FF70
    U+1900U+194F68
    U+1950U+197F35
    U+1980U+19DF83
    U+19E0U+19FF32
    U+1A00U+1A1F30
    U+1A20U+1AAF127
    U+1AB0U+1AFF15
    U+1B00U+1B7F121
    U+1B80U+1BBF64
    U+1BC0U+1BFF56
    U+1C00U+1C4F74
    -U+1C50U+1C7F48
    U+1CC0U+1CCF8
    U+1CD0U+1CFF41
    U+1D00U+1D7F128
    U+1D80U+1DBF64
    U+1DFFU+1DC0U+1DFF58
    U+1E00U+1EFF256
    U+1F00U+1FFF233
    U+2000U+206F111
    U+2070U+209F42
    U+20A0U+20CF31
    U+20D0U+20FF33
    U+2100U+214F80
    U+2150U+218F60
    U+2190U+21FF112
    U+2200U+22FF256
    U+2300U+23FF251
    U+2400U+243F39
    Optische ZeichenerkennungU+2440U+245F11
    U+2460U+24FF160
    U+2500U+257F128
    U+2580U+259F32
    U+25A0U+25FF96
    U+2600U+26FF256
    DingbatsU+2700U+27BF192
    — AU+27C0U+27EF48
    — AU+27F0U+27FF16
    U+2800U+28FF256
    — BU+2900U+297F128
    — BU+2980U+29FF128
    U+2A00U+2AFF256
    U+2B00U+2BFF206
    U+2C00U+2C5F94
    — CU+2C60U+2C7F32
    U+2C80U+2CFF123
    U+2D00U+2D2F40
    U+2D30U+2D7F59
    U+2D80U+2DDF79
    — AU+2DE0U+2DFF32
    U+2E00U+2E7F67
    U+2E80U+2EFF115
    U+2F00U+2FDF214
    U+2FF0U+2FFF12
    U+3000U+303F64
    U+3040U+309F93
    U+30A0U+30FF96
    U+3100U+312F41
    U+3130U+318F94
    U+3190U+319F16
    U+31A0U+31BF27
    U+31C0U+31EF36
    U+31F0U+31FF16
    U+3200U+32FF254
    U+3300U+33FF256
    — AU+3400U+4DBF6191
    « »U+4DC0U+4DFF64
    U+4E00U+9FFF20941
    U+A000U+A48F1165
    U+A490U+A4CF55
    U+A4D0U+A4FF48
    U+A500U+A63F300
    — BU+A640U+A69F96
    U+A6A0U+A6FF88
    U+A700U+A71F32
    — DU+A720U+A7FF159
    U+A800U+A82F44
    U+A830U+A83F10
    U+A840U+A87F56
    U+A880U+A8DF81
    U+A8E0U+A8FF30
    -U+A900U+A92F48
    U+A930U+A95F37
    — AU+A960U+A97F29.
    U+A980U+A9DF91
    — BU+A9E0U+A9FF31
    U+AA00U+AA5F83
    — AU+AA60U+AA7F32
    -U+AA80U+AADF72
    U+AAE0U+AAFF23
    — AU+AB00U+AB2F32
    — EU+AB30U+AB6F54
    U+AB70U+ABBF80
    U+ABC0U+ABFF56
    U+AC00U+D7AF2
    — BU+D7B0U+D7FF72
    U+D800U+DB7F2
    U+DB80U+DBFF2
    U+DC00U+DFFF2
    U+E000U+F8FF2
    U+F900U+FAFF472
    U+FB00U+FB4F58
    — AU+FB50U+FDFF643
    U+FE00U+FE0F16
    U+FE10U+FE1F10
    U+FE20U+FE2F16
    U+FE30U+FE4F32
    U+FE50U+FE6F26
    — BU+FE70U+FEFF141
    U+FF00U+FFEF225
    U+FFF0U+FFFF7
    U+10000U+1007F88
    U+10080U+100FF123
    U+10100U+1013F57
    U+10140U+1018F77
    U+10190U+101CF13
    U+101D0U+101FF46
    U+10280U+1029F29.
    U+102A0U+102DF49
    U+102E0U+102FF28
    U+10300U+1032F36
    U+10330U+1034F27
    U+10350U+1037F43
    U+10380U+1039F31
    U+103A0U+103DF50
    U+10400U+1044F80
    U+10450U+1047F48
    U+10480U+104AF40
    U+10500U+1052F40
    U+10530U+1056F53
    U+10600U+1077F341
    U+10800U+1083F55
    U+10840U+1085F31
    U+10860U+1087F32
    U+10880U+108AF40
    U+108E0U+108FF26
    U+10900U+1091F29.
    U+10920U+1093F27
    U+10980U+1099F32
    U+109A0U+109FF90
    U+10A00U+10A5F65
    U+10A60U+10A7F32
    U+10A80U+10A9F32
    U+10AC0U+10AFF51
    U+10B00U+10B3F61
    U+10B40U+10B5F30
    U+10B60U+10B7F27
    U+10B80U+10BAF29.
    U+10C00U+10C4F73
    U+10C80U+10CFF108
    U+10E60U+10E7F31
    U+11000U+1107F109
    U+11080U+110CF66
    -U+110D0U+110FF35
    U+11100U+1114F67
    U+11150U+1117F39
    U+11180U+111DF94
    U+111E0U+111FF20
    U+11200U+1124F61
    U+11280U+112AF38
    U+112B0U+112FF69
    U+11300U+1137F85
    U+11480U+114DF82
    U+11580U+115FF92
    U+11600U+1165F79
    U+11680U+116CF66
    U+11700U+1173F57
    -U+118A0U+118FF84
    U+11AC0U+11AFF57
    KeilschriftU+12000U+123FF922
    U+12400U+1247F116
    U+12480U+1254F196
    U+13000U+1342F1071
    U+14400U+1467F583
    U+16800U+16A3F569
    U+16A40U+16A6F43
    U+16AD0U+16AFF36
    U+16B00U+16B8F127
    U+16F00U+16F9F133
    U+1B000U+1B0FF2
    U+1BC00U+1BC9F143
    U+1BCA0U+1BCAF4
    U+1D000U+1D0FF246
    U+1D100U+1D1FF231
    U+1D200U+1D24F70
    « »U+1D300U+1D35F87
    U+1D360U+1D37F18
    U+1D400U+1D7FF996
    SignWritingU+1D800U+1DAAF672
    U+1E800U+1E8DF213
    U+1EE00U+1EEFF143
    U+1F000U+1F02F44
    U+1F030U+1F09F100
    U+1F0A0U+1F0FF82
    U+1F100U+1F1FF173
    U+1F200U+1F2FF57
    U+1F300U+1F5FF766
    U+1F600U+1F64F80
    U+1F650U+1F67F48
    U+1F680U+1F6FF98
    U+1F700U+1F77F116
    U+1F780U+1F7FF85
    — CU+1F800U+1F8FF148
    U+1F900U+1F9FF15
    — BU+20000U+2A6DF42676
    — CU+2A700U+2B73F60
    — DU+2B740U+2B81F27
    — EU+2B820U+2CEAF2
    U+2F800U+2FA1F542
    TagsU+E0000U+E007F97
    U+E0100U+E01EF240
    — AU+F0000U+FFFFF4
    — BU+100000U+10FFFF4


    :

    • — - .
    • — , .
    • — .
    • — , . .
    • , — , . , .
    • — , . , [Ä] [A] [¨].
    • — .
    • — , , . .
    • — , .
    • — .

    : c codepoints.net .


Source: https://habr.com/ru/post/de485148/


All Articles