Zeichenhäufigkeitsanalyse & Visualisierungstool
Kostenloses Zeichenhäufigkeitsanalyse-Tool. Visualisieren Sie Buchstabenverteilungsmuster sofort. Perfekt für Kryptographie, Datenkompression, Textkodierungserkennung und linguistische Analyse.
Zeichenhäufigkeitsanalyse
Dokumentation
Was ist eine Zeichenhäufigkeitsanalyse?
Eine Zeichenhäufigkeitsanalyse ist das Zählen, wie oft jedes Zeichen in einem Text vorkommt. Dazu gehören Buchstaben, Ziffern, Leerzeichen, Satzzeichen und alle anderen Symbole im Text. Das Ergebnis ist eine einfache Tabelle oder ein Diagramm: ein Zeichen, eine Anzahl.
Dieses Werkzeug nimmt beliebigen eingefügten oder eingetippten Text entgegen und zählt automatisch jedes Zeichen. Es listet jedes einzelne Zeichen mit seiner Anzahl auf und zeichnet ein Balkendiagramm, sodass die häufigsten Zeichen sofort ins Auge fallen.
Das Verfahren ist alt. Der arabische Gelehrte Al-Kindi beschrieb es um das Jahr 850 n. Chr. als Möglichkeit, einfache Chiffren zu brechen. Heute wird es auch bei der Datenkompression, bei Rechtschreib- und Kodierungsprüfungen und bei der einfachen Spracherkennung eingesetzt.
So wird die Zeichenhäufigkeit berechnet
Die manuelle Berechnung der Zeichenhäufigkeit erfolgt in drei Schritten:
- Den Text Zeichen für Zeichen durchgehen, einschließlich Leerzeichen und Satzzeichen.
- Für jedes unterschiedliche Zeichen eine laufende Zählung führen. Ein neues Zeichen beginnt bei 1; ein wiederholtes Zeichen erhöht seine bestehende Zählung um 1.
- Jedes Zeichen mit seiner endgültigen Anzahl auflisten.
Dieses Tool führt dasselbe automatisch aus und verwendet dafür eine Datenstruktur namens Hashmap (eine Nachschlagetabelle, die einen Wert unter einem Schlüssel speichert). Für jedes Zeichen im Text prüft es, ob dieses Zeichen bereits einen Eintrag in der Map hat. Falls ja, erhöht das Tool die gespeicherte Anzahl um 1. Falls nicht, erstellt es einen neuen Eintrag mit der Anzahl 1. Diese Methode verarbeitet jedes Zeichen genau einmal. Daher wächst die benötigte Zeit direkt proportional zur Textlänge und nicht schneller.
Nach dem Zählen listet das Tool die Ergebnisse alphabetisch nach Zeichen auf. Eine Option zur Sortierung nach Anzahl gibt es derzeit nicht.
Zeichenhäufigkeit als Prozentsatz
Einzelne Zählwerte lassen sich bei Texten unterschiedlicher Länge nur schwer vergleichen. Deshalb wird die Häufigkeit oft als Prozentsatz der Gesamtzahl der Zeichen angegeben:
Dabei gibt an, wie oft das Zeichen vorkommt, und ist die Gesamtzahl der Zeichen im Text. Dieses Tool gibt die absoluten Zählwerte und die Gesamtzahl der Zeichen aus, jedoch keine Prozentspalte. Der Prozentsatz für ein beliebiges Zeichen lässt sich berechnen, indem man seine Anzahl durch die Gesamtzahl teilt und mit 100 multipliziert.
Beispiel
Betrachten wir das Wort „mississippi“, das 11 Zeichen und keine Leer- oder Satzzeichen enthält.
Beim Zählen jedes Buchstabens ergibt sich:
| Zeichen | Anzahl | Prozentsatz |
|---|---|---|
| i | 4 | 36,4 % |
| m | 1 | 9,1 % |
| p | 2 | 18,2 % |
| s | 4 | 36,4 % |
Die Tabelle ist alphabetisch sortiert (i, m, p, s) und entspricht damit der Reihenfolge, in der dieses Tool seine Ergebnisse anordnet. Die Zählwerte ergeben zusammen 11, die Gesamtlänge des Wortes. Für die Prozentspalte wurde jede Anzahl durch 11 geteilt und mit 100 multipliziert, zum Beispiel 4 ÷ 11 × 100 ≈ 36,4 %.
So wird dieses Tool verwendet
Text in das Eingabefeld eingeben oder einfügen. Das Tool analysiert ihn sofort; ein zu betätigender Button ist nicht erforderlich. Während sich der Text ändert, werden die Zeichenliste und das Balkendiagramm entsprechend aktualisiert.
Der Ergebnisbereich zeigt:
- Ein Balkendiagramm mit einem Balken pro Zeichen. Höhere Balken bedeuten, dass das Zeichen häufiger vorkommt.
- Die Gesamtzahl der Zeichen im Text, einschließlich Leerzeichen und Satzzeichen.
- Eine Liste aller Zeichen mit ihrer genauen Anzahl.
Ein „Kopieren“-Button formatiert die Ergebnisse als reinen Text, mit jeweils einem Zeichen und seiner Anzahl pro Zeile, sodass sie direkt in eine Tabellenkalkulation oder ein Dokument eingefügt werden können. Leerzeichen werden in dieser Ausgabe mit „Leerzeichen“ bezeichnet, damit sie nicht mit leeren Zeilen verwechselt werden.
In gewöhnlichen englischen Texten sind E, T, A, O und I die fünf häufigsten Buchstaben. Ein Text, in dem seltene Buchstaben wie Q oder Z ungewöhnlich oft vorkommen, ist möglicherweise kodiert, verschlüsselt oder in einer anderen Sprache verfasst.
Anwendungsbereiche der Zeichenhäufigkeitsanalyse
Brechen von Substitutionschiffren
Eine Substitutionschiffre ersetzt jeden Buchstaben einer Nachricht durch einen anderen Buchstaben oder ein Symbol, wobei durchgehend dieselbe Ersetzung gilt. Weil die Ersetzung gleichbleibend ist, bleibt das Häufigkeitsmuster der Originalsprache im verschlüsselten Text erhalten. Im Englischen macht der Buchstabe E etwa 12 % aller Buchstaben aus. Taucht ein Symbol in einem Geheimtext mit ungefähr dieser Häufigkeit auf, ist es ein starker Kandidat für den Buchstaben E. Dies war jahrhundertelang die wichtigste Methode zum Brechen von Substitutionschiffren, bevor moderne Verschlüsselung sie für alles außer Rätsel und historische Dokumente überflüssig machte.
Datenkompression
Das DEFLATE-Kompressionsformat, das vom Programm gzip verwendet wird, kombiniert das LZ77-Verfahren mit der Huffman-Kodierung. Ein Huffman-Code wird aus den Häufigkeiten der Symbole aufgebaut. Häufig vorkommende Zeichen erhalten kurze Binärcodes, seltene Zeichen längere. Da häufige Zeichen pro Vorkommen weniger Platz belegen, wird die gesamte Datei kleiner, ohne dass Informationen verloren gehen.
Erkennen von Codierungsproblemen
Text, der ungewöhnliche, unerwartete Zeichen anzeigt (etwa „é“ an der Stelle von „é“), weist oft auf eine Unstimmigkeit zwischen der Zeichencodierung hin, mit der eine Datei gespeichert wurde, und derjenigen, die zum Lesen verwendet wird. Ein Häufigkeitsdiagramm mit einem ungewöhnlichen Ausschlag bei fremdartigen Symbolen statt bei häufigen Buchstaben kann helfen, ein Codierungsproblem zu bestätigen.
Spracherkennung
Verschiedene Sprachen haben unterschiedliche typische Zeichenverteilungen. Das Englische bevorzugt E, T und A. Das Deutsche verwendet zudem Buchstaben wie ä, ö und ü, die im Englischen gar nicht vorkommen. Der Vergleich der Zeichenhäufigkeiten eines Textes mit bekannten Sprachprofilen liefert eine schnelle, grobe Möglichkeit, seine Sprache zu erraten.
Schreibstil und Urheberschaft
Da Schreibende meist gleichbleibende Gewohnheiten bei Satzzeichen und der Verwendung von Buchstaben haben, können Muster auf Zeichenebene als ein kleiner Teil der Belege für die Bestimmung der Urheberschaft dienen. Die Zeichenhäufigkeit allein beweist nur selten, wer etwas geschrieben hat; am besten funktioniert sie zusammen mit Wortwahl, Satzlänge und anderen stilistischen Merkmalen.
Andere Methoden der Textanalyse
Die Zeichenhäufigkeit ist nicht die einzige Möglichkeit, Text zu analysieren.
- Worthäufigkeit zählt ganze Wörter statt Zeichen. Sie steht der Bedeutung eines Textes näher und wird häufig bei der Keyword-Recherche und Themenanalyse eingesetzt.
- Die N-Gramm-Analyse betrachtet kurze Folgen von Zeichen oder Wörtern, etwa Zweier- oder Dreierfolgen. Tastaturen mit Wortvorhersage und automatische Vervollständigung nutzen dies, um den nächsten Buchstaben oder das nächste Wort zu erraten.
- Die Sentimentanalyse beurteilt, ob ein Text positiv, negativ oder neutral klingt, und verwendet dafür Methoden, die weit über einfaches Zählen hinausgehen.
- Die Lesbarkeitsanalyse, etwa anhand des Flesch-Kincaid-Werts, schätzt auf Grundlage der Satz- und Wortlänge, wie schwer ein Text zu lesen ist.
Häufig gestellte Fragen
Was sagt eine Zeichenhäufigkeitsanalyse aus?
Sie zeigt, wie oft jedes Zeichen in einem Text vorkommt. Die Auswertung kann für Kryptografie und Kompression nützliche Muster sichtbar machen, Codierungsfehler aufdecken oder Hinweise auf die Sprache eines Textes geben.
Wie sortiert dieses Tool die Ergebnisse?
Es sortiert die Zeichen alphabetisch. Eine Option, stattdessen nach Anzahl zu sortieren, gibt es nicht; die häufigsten und seltensten Zeichen müssen durch Durchsehen der Zahlen oder durch Ablesen des Balkendiagramms gefunden werden.
Zeigt das Tool Prozentsätze an?
Nein. Es gibt die absolute Anzahl für jedes Zeichen und die Gesamtzahl der Zeichen aus. Ein Prozentsatz lässt sich berechnen, indem man die Anzahl eines Zeichens durch die Gesamtzahl teilt und mit 100 multipliziert.
Kann eine Zeichenhäufigkeitsanalyse moderne Verschlüsselungen brechen?
Nein. Sie funktioniert nur bei einfachen Substitutionschiffren, bei denen ein Zeichen immer für dasselbe Ersatzzeichen steht. Moderne Verschlüsselungsverfahren wie AES erzeugen eine Ausgabe ohne ein solches gleichbleibendes Muster, sodass Häufigkeitszählungen nichts über die ursprüngliche Nachricht verraten.
Zählt das Tool Leerzeichen und Satzzeichen?
Ja. Jedes Zeichen der Eingabe wird gezählt, einschließlich Leerzeichen, Tabulatoren, Zeilenumbrüchen und Satzzeichen. Leerzeichen sind in gewöhnlichen Texten oft das einzelne häufigste Zeichen.
Wie viel Text wird für zuverlässige Muster benötigt?
Es gibt keine feste Mindestlänge. Sehr kurze Texte können rein zufällig Häufigkeiten zeigen, die stark vom erwarteten Muster abweichen. Längere Stichproben entsprechen den bekannten Sprachmustern tendenziell genauer.
Referenzen
- Naskręcki, B., Adam-Mickiewicz-Universität. Elements of Cryptanalysis, Chapter 3: Frequency Analysis. Häufigkeitsanalyse — Al-Kindis Abhandlung über die Häufigkeitsanalyse, verfasst um das Jahr 850 n. Chr.
- Cornell University, Fachbereich Mathematik. English Letter Frequency. Tabelle der Buchstabenhäufigkeit im Englischen — E mit 12,02 %, gefolgt von T, A, O und I, in einer Stichprobe von 40.000 Wörtern.
- IETF. RFC 1951: DEFLATE Compressed Data Format Specification version 1.3. RFC 1951 — DEFLATE kombiniert LZ77 und Huffman-Kodierung; Huffman-Codes werden aus den Häufigkeiten der Symbole aufgebaut.