ToolActToolAct

Zeichenfrequenzanalysetool

Zählt die Häufigkeit jedes Zeichens in Ihrem Text

Texteingabe

Optionen

Gesamtzeichen
0
Einzigartige Zeichen
0

排序

Optionen

频率分布
Keine Daten. Bitte Text eingeben.

Was ist Zeichenfrequenzanalyse?

Die Zeichenhäufigkeitsanalyse zählt, wie oft jedes Zeichen in einem Text vorkommt und welchen Anteil es am Gesamttext hat. Sie betrachtet nicht nur Buchstaben, sondern je nach Eingabe auch Zahlen, Satzzeichen, Leerzeichen, CJK-Zeichen, Symbole und seltene Steuerzeichen. Das ist nützlich für Kryptografieübungen, einfache Substitutionsanalyse, Textprofiling, Datenbereinigung, Encoding-Prüfung, Kompressionsideen und Qualitätskontrolle von importierten Daten. Auffällige Häufigkeiten können auf kopierte Formatzeichen, falsch dekodierte Texte oder unerwartete Sprachen hinweisen. Die Auswertung erklärt nicht automatisch die Ursache, gibt aber eine schnelle, messbare Übersicht über die tatsächliche Zeichenverteilung. Bei veröffentlichten oder mehrsprachigen Inhalten sollte das Ergebnis wegen Sprache, Zeichensatz, Kontext und Sonderfällen kurz gegengelesen werden.

Anleitung

Anleitung

  1. Text im Eingabefeld eingeben oder einfügen
  2. Das System zählt automatisch jedes Zeichen und seine Häufigkeit
  3. Ergebnisse mit den Sortieroptionen nach Zeichen oder Anzahl ordnen
  4. Optionen anpassen (Groß-/Kleinschreibung, Leerzeichen, Zeilenumbrüche)

Zählbereich

  • Legen Sie vor dem Textvergleich fest, ob Leerzeichen, Satzzeichen, Groß-/Kleinschreibung und Zeilenumbrüche mitgezählt werden sollen.
  • Beachten Sie bei mehrsprachigem Text, dass Emojis, zusammengesetzte Zeichen und CJK-Zeichen sich nicht wie einzelne lateinische Buchstaben verhalten.

Anwendungsfälle

Unordentliche Logs, OCR-Ausgaben und Keyword-Listen analysierenFügen Sie kopierte Logs, OCR-Ausgaben, Keyword-Listen oder kodierte Zeichenfolgen ein und sehen Sie Gesamtzeichen, einzigartige Zeichen, Anzahlen, Prozentsätze und visuelle Balken, sortiert nach Häufigkeit. Sortieren Sie nach Anzahl, um dominante Symbole zu erkennen, und nach Zeichen, um das Alphabet der Reihe nach zu scannen. Diese Art von Verteilungsschnappschuss ist der erste Schritt, bevor entschieden wird, ob die Eingabe bereinigt, klassifiziert oder verworfen werden soll.
Unsichtbare Leerzeichen und Groß-/Kleinschreibungsprobleme aufdeckenSchalten Sie Groß-/Kleinschreibung, Leerzeichen ignorieren und Zeilenumbrüche ignorieren um, um zu sehen, ob Duplikate, Parser-Fehler oder Layout-Probleme durch unsichtbare Trennzeichen oder Unterschiede in der Groß-/Kleinschreibung verursacht werden. Der Vergleich eines als unterschiedlich gezählten Paares mit einem als gleich gezählten Durchlauf zeigt, welche Zeichen die Textgröße still verdoppeln. Ein einzelnes geschütztes Leerzeichen in Tausenden von Zeilen wird als kleiner, aber realer Prozentsatz in der Tabelle sichtbar.
Beweise für Bereinigungsregeln und Validatoren vorbereitenSortieren Sie nach Zeichen oder Anzahl, bevor Sie Ersetzungsregeln, Validierungslogik, Sprachlernmaterial, Rätselprüfungen oder Korpus-Bereinigungsnotizen schreiben, die von der exakten Zeichenverteilung abhängen. Die Häufigkeitstabelle gibt Bereinigungsdiskussionen eine messbare Grundlage, statt sich nur auf visuelle Prüfung zu verlassen. Teilen Sie die Tabelle mit Reviewern, damit die Regeln und die Daten, auf die sie abzielen, übereinstimmen.
Mojibake, typografische Anführungszeichen und BOM-Marker erkennenFühren Sie die Analyse für verdächtige Zeichenfolgen durch und suchen Sie nach ungewöhnlichen Häufungen von Ersatzzeichen, Kombinationszeichen oder nicht druckbaren Bytes, die oft auf falsche Kodierung, typografische Anführungszeichen oder fehlgeleitete BOM-Marker in kopiertem Text hinweisen. Ein plötzlicher Anstieg von U+FFFD oder ein einzelnes Zeichen mit seltsamer Häufigkeit in einer kurzen Probe bedeutet meist eine Zeichensatz-Fehlzuordnung weiter oben in der Kette.
Codepoints, Surrogate Pairs und ZWJ-Emojis unterscheidenÜber reine Anzahlen hinaus legt der Analyzer den Unterschied zwischen Codepoints und Graphemclustern offen: Ein Flaggenemoji wie LGBT-Flagge wird als mehrere durch ZWJ verbundene Codepoints gerendert, und ein Mathematiksymbol kann ein einzelner Codepoint oder ein Surrogate Pair sein. Behandeln Sie die Gesamtzahlen als Codepoint-Zahlen, damit ZWJ-Sequenzen und Surrogate Pairs in der Tabelle sichtbar sind, statt im umgebenden Text zu verschmelzen.

Technisches Prinzip

Die Zeichenfrequenzanalyse zählt das Vorkommen jedes Zeichens in einem Text. Die Implementierung verwendet eine Hash-Tabelle (typischerweise eine Map in JavaScript): 1) den Text zeichenweise durchlaufen, 2) für jedes Zeichen den Zähler in der Map erhöhen, 3) die Einträge nach Anzahl absteigend sortieren, 4) das Histogramm rendern (die 10–20 häufigsten Zeichen, der Rest in einem Sammelbehälter). Der Algorithmus ist O(N) in der Länge des Textes, wobei N die Anzahl der Zeichen ist, und der dominante Aufwand ist der Map-Lookup und die Erhöhung (in V8 und SpiderMonkey im Normalfall praktisch kostenlos). Eine nützliche Nuance: Was zählt als Zeichen? In JavaScript gibt .length die Anzahl der UTF-16-Codeeinheiten zurück, nicht die der Unicode-Codepoints. Ein Zeichen außerhalb der Basic Multilingual Plane (Emoji, seltene CJK-Ideogramme) wird als Surrogate-Paar (zwei Codeeinheiten) kodiert, und eine naive Codeeinheiten-Zählung überschätzt, indem jede Surrogate-Hälfte als separates Zeichen behandelt wird. Die Seite verwendet Array.from(text) oder Intl.Segmenter zur Iteration über Codepoints (oder Graphemcluster), was die richtige Definition eines Zeichens für die meisten Anwendungsfälle ist. Eine nützliche Anwendung: Die Frequenzanalyse ist die klassische Technik zum Brechen von Substitutionschiffren (Caesar, Vigenere, einfache Substitution). Die englische Buchstabenhäufigkeitsverteilung ist wohlbekannt (E, T, A, O, I, N, S, H, R sind die häufigsten, in dieser ungefähren Reihenfolge), und eine Substitutionschiffre erhält die Häufigkeitsverteilung, sodass das häufigste Chiffretextzeichen wahrscheinlich E entspricht, das zweithäufigste T und so weiter. Die Seite ist ein Lehrmittel, kein Kryptanalyse-Werkzeug, aber die Technik ist dieselbe. Ein Hinweis zu Unicode: Für CJK-Sprachen hängt die Zeichenfrequenzverteilung vom Korpus ab (moderner Roman, klassische Poesie, technischer Text) und vom Analyselevel (Zeichen, Wort, Bigramm, Trigramm). Eine Frequenzanalyse eines modernen chinesischen Romans ergibt eine andere Verteilung als eine Frequenzanalyse der Analerten. Die Seite ist korpusunabhängig, sodass der Benutzer sie auf jeden Text anwenden kann.

  • Hash-Tabelle (Map in JS): Text durchlaufen, Zähler erhöhen, nach Anzahl absteigend sortieren, Histogramm rendern; O(N) in Textlänge mit sehr schnellem Aufwand pro Zeichen.
  • Surrogate Pairs: Ein Zeichen außerhalb der BMP (Emoji, seltenes CJK) sind zwei UTF-16-Codeeinheiten; naive Codeeinheiten-Zählung überschätzt; Array.from oder Intl.Segmenter verwenden.
  • Substitutionschiffren-Kryptanalyse: Englische Buchstabenhäufigkeit E, T, A, O, I, N, S, H, R (häufigste in dieser Reihenfolge); eine Substitutionschiffre erhält die Verteilung.
  • CJK-Frequenz: hängt vom Korpus ab (moderner Roman, klassische Poesie, technischer Text) und vom Analyselevel (Zeichen, Wort, Bigramm); die Seite ist korpusunabhängig.
  • Top-N und Sammelbehälter: Die Seite rendert standardmäßig die 10–20 häufigsten Zeichen mit einem Sammelbehälter für den Rest; nützlich zur Erkennung von Mustern in dichten Texten.
  • Groß-/Kleinschreibung: Die Seite bietet einen Umschalter für Groß-/Kleinschreibungsempfindlichkeit; Englisch ist typischerweise nicht empfindlich (E und e sind derselbe Buchstabe, nur unterschiedliche Formen), CJK ist immer nicht empfindlich (kein Konzept von Groß-/Kleinschreibung).
  • Performance: O(N) für das Zählen, O(K log K) für das Sortieren von K verschiedenen Zeichen; die Seite verarbeitet Texte mit 1 Million Zeichen in deutlich unter einer Sekunde, was das Produktionsmuster ist.

Beispiele

Analyse englischer Texte

Eingabe "hello world" → Ergebnis: 'l' kommt 3-mal vor (27,3 %), 'o' kommt 2-mal vor (18,2 %)

Analyse chinesischer Texte

Eingabe "我爱中国我爱北京" → Ergebnis: '我' und '爱' kommen je 2-mal vor (25 %)

Vergleich der Häufigkeitsverteilung

Englischer Text: 'e' am häufigsten mit ~12,7 %; Chinesisch: '的' am häufigsten mit ~4 %

FAQ

Was zählt der Analyzer?

Jedes eindeutige Zeichen und wie oft es vorkommt, sortiert nach Häufigkeit. Nützlich für Kryptoanalyse (englischer Text hat vorhersehbare Buchstabenhäufigkeiten, beginnend mit E, T, A, O), Textprofile und das Auffinden unerwarteter Zeichen in einem kopierten Dokument.

Werden Leerzeichen mitgezählt?

Standardmäßig ja – Leerzeichen, Tabulatoren und Zeilenumbrüche bekommen jeweils eine eigene Zeile. Schalte 'Whitespace ignorieren' ein, wenn du nur druckbare Zeichen möchtest. Whitespace ist in natürlichsprachlichem Text typischerweise das häufigste 'Zeichen' (etwa 20 %).

Unterscheidet die Zählung Groß- und Kleinschreibung?

Standardmäßig ja – 'A' und 'a' werden getrennt gezählt. Schalte 'Groß-/Kleinschreibung ignorieren' ein, um sie zusammenzufassen, was bei Sprachanalyse üblich ist. Bei Code- oder Hash-Inspektion ist die Unterscheidung wichtig.

Funktioniert es für Chinesisch, Japanisch und Koreanisch?

Ja. Jedes CJK-Zeichen wird einzeln gezählt. Die Häufigkeitstabelle eines chinesischen Absatzes zeigt naturgemäß hunderte verschiedener Zeichen, weil Chinesisch kein gemeinsames Alphabet hat. Das Tool verarbeitet Unicode korrekt über Grapheme-Cluster-Zählung.

Kann ich die Häufigkeit in Prozent sehen?

Ja, die Seite zeigt typischerweise sowohl Anzahl als auch prozentualen Anteil. Praktisch, um Buchstabenverteilungen mit bekannten Referenzverteilungen abzugleichen, etwa beim Knacken einfacher Substitutionschiffren.

Warum ergeben die Prozente keine 100 %?

Rundung. Jeder Wert wird auf eine feste Zahl an Nachkommastellen gerundet; die Summe der gerundeten Prozente kann um wenige Zehntel von 100 % abweichen. Summiere die Rohzählungen für die exakte Gesamtzahl.

Wird mein Text hochgeladen?

Nein. Die Häufigkeitsanalyse läuft in deinem Browser. Eingefügter Text wird nicht übertragen.