Inspektor für Unicode und unsichtbare Zeichen

Sehen Sie die Zeichen, die man nicht sieht – und bereinigen Sie sie mit einem Klick.

Läuft lokal · keine Uploads
Text paste, type or drop a file
Fix:
Problems
Visible view invisible characters as badges
Characters
Case notes: Turkish İ and ı

Turkish has four letters i: dotted i / İ (U+0130) and dotless ı (U+0131) / I. So the uppercase of i is İ and the lowercase of I is ı in Turkish.

  • Under the tr-TR culture, "file".ToUpper() returns "FİLE" and "FILE".ToLower() returns "fıle", so culture-sensitive comparisons of identifiers, keys, file extensions and protocol names break (the "Turkey test").
  • For identifiers use ToUpperInvariant() / ToLowerInvariant(), string.Equals(a, b, StringComparison.OrdinalIgnoreCase) and StringComparer.OrdinalIgnoreCase. Keep culture-aware casing for text shown to people.
  • In JavaScript, "İ".toLowerCase() is "i̇": i plus U+0307 COMBINING DOT ABOVE, length 2. Use toLocaleLowerCase("tr") for Turkish text. Case changes can change the length in general, e.g. "ß".toUpperCase() is "SS".

Was das Tool macht

Fügen Sie eine Zeichenfolge ein, die sich seltsam verhält (ein Passwort, das „stimmt“, ein Befehl, der fehlschlägt, zwei Namen, die gleich aussehen, es aber nicht sind), und jedes Zeichen wird schon beim Tippen geprüft.

  • Das Problem-Panel listet alle Funde mit Zeile und Spalte auf: Nullbreitenzeichen (ZWSP, ZWNJ, ZWJ, Word Joiner), eine BOM, geschützte und andere ungewöhnliche Leerzeichen, bidirektionale Steuerzeichen einschließlich nicht abgeschlossener (das Trojan Source-Muster), weiche Trennstriche, Steuerzeichen, unsichtbare Tag-Zeichen samt dekodiertem verstecktem Text, verwechselbare kyrillische und griechische Doppelgänger, vollbreite Formen, typografische Satzzeichen, Nicht-ASCII-Ziffern, gestapelte kombinierende Zeichen, NFC-Unterschiede, gemischte Zeilenenden und Mojibake wie é oder ı.
  • Die sichtbare Ansicht zeigt den Text mit jedem unsichtbaren Zeichen als Badge und unterstrichenen Doppelgängern. Ein Klick darauf markiert es im Editor.
  • Die Zeichentabelle zeigt für jeden Codepunkt den U+-Wert, den Namen, die allgemeine Kategorie, die Schrift, die UTF-8-Bytes, die UTF-16-Einheiten und das C#-Escape. Export als CSV möglich.
  • Zählungen für Codepunkte, Grapheme, UTF-16-Einheiten (was string.Length liefert) und UTF-8-Bytes.

Probleme beheben

Mit einem Klick entfernen Sie unsichtbare Zeichen, machen aus ungewöhnlichen Leerzeichen normale, normalisieren in NFC, ersetzen Doppelgänger oder typografische Satzzeichen durch ASCII, reparieren Mojibake oder vereinheitlichen Zeilenenden. Jede Korrektur lässt sich rückgängig machen. Echter russischer, griechischer oder türkischer Text bleibt unangetastet: Doppelgänger werden nur in lateinischen Wörtern oder in Wörtern markiert, die solche nachahmen. Die Hinweise zur Groß-/Kleinschreibung erklären das türkische i mit und ohne Punkt (İ, ı) und warum .NET-Bezeichner ToUpperInvariant und ordinale Vergleiche brauchen.

Datenschutz

Ihr Text verlässt den Browser nie. Er wird im lokalen Speicher gehalten, damit er ein Neuladen übersteht; mit Leeren entfernen Sie ihn.