Zum Inhalt springen
BeispielWerk
English

Surrogatpaare in UTF-16 testen

Ein Surrogatpaar besteht in UTF-16 aus zwei Einheiten und stellt ein Zeichen oberhalb von U+FFFF dar, zum Beispiel ein Emoji. Die vier Beispiele zeigen ein Emoji zwischen Buchstaben, eine Zeichenfolge mit einem Paar an der Grenze von 255 Einheiten, Vier-Byte-Zeichen und das Grenzpaar U+FFFF und U+10000. Sie helfen zu prüfen, ob Kürzen, Umkehren und Zählen in der eigenen Anwendung Paare zerreißen.

4 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf.

  • 254 × a plus Emoji (Surrogatpaar auf Position 255/256)

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa …

    Kürzen auf 255 UTF-16-Einheiten würde das Paar trennen (JavaScript .slice, Java substring). Gültig als Ganzes. UTF-16: 256, Codepoints: 255, UTF-8: 258 Bytes. Testzeichenfolge für eigene Systeme.

  • a😀b: Emoji zwischen zwei Buchstaben

    a😀b

    Prüft Umkehren, Teilstrings und Cursor-Positionen: UTF-16-Länge 4, aber nur 3 Zeichen. UTF-16: 4, Codepoints: 3, UTF-8: 6 Bytes. Testzeichenfolge für eigene Systeme.

  • Vier-Byte-UTF-8-Zeichen (U+1F4A9 und U+10348)

    💩𐍈

    Beide Zeichen liegen oberhalb von U+FFFF; MySQL utf8mb3 lehnt sie ab oder schneidet ab. UTF-16: 4, Codepoints: 2, UTF-8: 8 Bytes. Testzeichenfolge für eigene Systeme.

  • Letztes BMP-Zeichen U+FFFF und erstes darüber U+10000

    ￿𐀀

    U+FFFF ist ein Nichtzeichen; U+10000 ist das erste Zeichen außerhalb der BMP. UTF-16: 3, Codepoints: 2, UTF-8: 7 Bytes. Testzeichenfolge für eigene Systeme.

Weitere Themen in Sonderzeichen & Grenzfälle