Zum Inhalt springen
BeispielWerk
English

Leerraum und unsichtbare Zeichen testen

Neben dem normalen Leerzeichen gibt es geschützte Leerzeichen, breite Abstände, Tabulatoren, Zeilentrenner und unsichtbare Zeichen wie den Zero Width Space, die in kopiertem Text oft unbemerkt stecken. Die Beispiele zeigen diese Fälle, auch einen Wert nur aus einem Tabulator und einen mit Leerzeichen am Ende. Damit lassen sich trim(), split, Validierung und Vergleiche der eigenen Anwendung prüfen.

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

  • Zero Width Space (U+200B) mitten im Wort

    Test​wort

    Unsichtbar, aber zwei Wörter für manche Tokenizer; kopierte Texte tragen sie oft unbemerkt. UTF-16: 9, Codepoints: 9, UTF-8: 11 Bytes. Testzeichenfolge für eigene Systeme.

  • Nur ein Zero Width Space (wirkt leer)

    ​

    Sieht leer aus, ist aber nicht leer; besteht trim() oft nicht (U+200B gilt in JavaScript nicht als Leerraum). UTF-16: 1, Codepoints: 1, UTF-8: 3 Bytes. Testzeichenfolge für eigene Systeme.

  • ZWNJ (U+200C) und ZWJ (U+200D) im Text

    a‌b‍c

    Beide Steuerzeichen sind unsichtbar; ZWNJ trennt Verbindungen, ZWJ erzwingt sie. UTF-16: 5, Codepoints: 5, UTF-8: 9 Bytes. Testzeichenfolge für eigene Systeme.

  • Byte Order Mark (U+FEFF) am Textanfang

    Beispiel

    Als Zeichen U+FEFF; in UTF-8 die Bytes EF BB BF. Bricht Parser, die den Anfang strikt erwarten. UTF-16: 9, Codepoints: 9, UTF-8: 11 Bytes. Testzeichenfolge für eigene Systeme.

  • Geschütztes Leerzeichen (U+00A0) im Namen

    Max Mustermann

    Sieht wie ein Leerzeichen aus; split(" ") und Regex \s unterscheiden sich je nach Sprache. UTF-16: 14, Codepoints: 14, UTF-8: 15 Bytes. Testzeichenfolge für eigene Systeme.

  • Schmales geschütztes Leerzeichen (U+202F)

    1 000 000

    Tausendertrennzeichen in französischer CLDR-Formatierung; Parser erwarten oft U+0020. UTF-16: 9, Codepoints: 9, UTF-8: 13 Bytes. Testzeichenfolge für eigene Systeme.

  • Geviertspatium (U+2003)

    A B

    Breiter Leerraum; trim() entfernt ihn, ein Vergleich mit " " nicht. UTF-16: 3, Codepoints: 3, UTF-8: 5 Bytes. Testzeichenfolge für eigene Systeme.

  • Weicher Trennstrich (U+00AD) im Wort

    Donau­dampf­schiff

    Meist unsichtbar; erscheint nur beim Zeilenumbruch. Suche nach „Donaudampfschiff“ findet nichts. UTF-16: 18, Codepoints: 18, UTF-8: 20 Bytes. Testzeichenfolge für eigene Systeme.

  • Zeilentrenner U+2028 und Absatztrenner U+2029

    Zeile1
Zeile2
Zeile3

    Unicode-Zeilenumbrüche, die ältere JavaScript-Strings als Literal nicht erlaubten. UTF-16: 20, Codepoints: 20, UTF-8: 24 Bytes. Testzeichenfolge für eigene Systeme.

  • Nur Leerzeichen (fünf)

         

    Pflichtfeld-Test: nicht leer, nach trim() aber leer. UTF-16: 5, Codepoints: 5, UTF-8: 5 Bytes. Testzeichenfolge für eigene Systeme.

  • Nur ein Tabulator

    	

    Whitespace-only mit U+0009. UTF-16: 1, Codepoints: 1, UTF-8: 1 Bytes. Testzeichenfolge für eigene Systeme.

  • Führende und nachfolgende Leerzeichen

       Max Mustermann   

    Je drei Leerzeichen; testet trim() beim Speichern, Vergleichen und Login. UTF-16: 20, Codepoints: 20, UTF-8: 20 Bytes. Testzeichenfolge für eigene Systeme.

  • Wert mit einem Leerzeichen am Ende

    benutzername 

    Ein Leerzeichen am Ende; viele Datenbanken (PAD SPACE) vergleichen es als gleich. UTF-16: 13, Codepoints: 13, UTF-8: 13 Bytes. Testzeichenfolge für eigene Systeme.

  • Mehrfache Leerzeichen im Text

    Max     Mustermann    GmbH

    HTML faltet sie in der Anzeige, Datenbank und Export nicht. UTF-16: 26, Codepoints: 26, UTF-8: 26 Bytes. Testzeichenfolge für eigene Systeme.

  • Tabulatoren zwischen Wörtern

    Spalte1	Spalte2	Spalte3

    Echte Tabs (U+0009); bricht TSV-/CSV-Importe bei freien Textfeldern. UTF-16: 23, Codepoints: 23, UTF-8: 23 Bytes. Testzeichenfolge für eigene Systeme.

  • Gemischte Zeilenumbrüche LF, CRLF, CR

    A
    B
    C …

    Alle drei Varianten in einem Text; zeigt, wie viele Zeilen ein Parser zählt. UTF-16: 8, Codepoints: 8, UTF-8: 8 Bytes. Testzeichenfolge für eigene Systeme.

  • Text mit leeren Zeilen und Leerzeile am Ende

    Absatz 1
    
     …

    Mehrere aufeinanderfolgende Umbrüche und ein abschließender. UTF-16: 21, Codepoints: 21, UTF-8: 21 Bytes. Testzeichenfolge für eigene Systeme.

Weitere Themen in Sonderzeichen & Grenzfälle