ToolActToolAct

Analyseur de Fréquence de Caractères

Comptez la fréquence de chaque caractère dans votre texte

Texte d'entrée

Options

Total de caractères
0
Caractères uniques
0

排序

Options

频率分布
Aucune donnée. Veuillez entrer du texte.

Qu'est-ce que l'analyse de fréquence des caractères ?

L’analyse de fréquence des caractères compte combien de fois chaque caractère apparaît dans un texte et quelle part il représente. Elle peut inclure lettres, chiffres, ponctuation, espaces, caractères CJK, symboles et caractères de contrôle peu visibles selon l’entrée. C’est utile pour des exercices de cryptographie, une analyse de substitution simple, l’extraction de caractéristiques textuelles, le nettoyage de données, la vérification d’encodage, la recherche en compression et le contrôle qualité de contenus importés. Des fréquences inhabituelles peuvent révéler des caractères cachés, du texte mal décodé, des séparateurs répétés, une langue inattendue ou des traces de copier-coller. L’outil fournit une mesure claire de la distribution réelle.

Comment utiliser

Comment utiliser

  1. Saisissez ou collez votre texte dans la zone de saisie
  2. Le système compte automatiquement les occurrences et la fréquence de chaque caractère
  3. Utilisez les options de tri pour organiser les résultats par caractère ou par fréquence
  4. Ajustez les options (casse, espaces, retours à la ligne)

Périmètre du comptage

  • Avant de comparer des textes, décidez si les espaces, la ponctuation, la casse et les sauts de ligne doivent être pris en compte.
  • Pour du texte multilingue, gardez à l'esprit que les émojis, les caractères composés et les caractères CJK ne se comportent pas comme de simples lettres latines.

Cas d’utilisation

Profilage de logs, sorties OCR et listes de mots-clésCollez des logs copiés, des sorties OCR, des listes de mots-clés ou des chaînes encodées et consultez le nombre total de caractères, les caractères uniques, les comptages, les pourcentages et les barres visuelles triées par fréquence. Triez par nombre pour repérer les symboles dominants et par caractère pour parcourir l’alphabet dans l’ordre. Ce type d’instantané de distribution est la première étape avant de décider s’il faut nettoyer, classer ou rejeter l’entrée.
Révéler les espaces invisibles et les problèmes de casseBasculez la sensibilité à la casse, l’option ignorer les espaces et ignorer les retours à la ligne pour voir si les doublons, les échecs de parseur ou les problèmes de mise en page sont causés par des séparateurs invisibles ou des différences de casse. Comparer une paire comptée comme distincte à une séquence comptée comme identique révèle quels caractères doublent silencieusement la taille du texte. Une seule espace insécable dans des milliers de lignes apparaîtra comme un pourcentage minuscule mais réel dans le tableau.
Préparer des preuves pour des règles de nettoyage et validateursTriez par caractère ou par nombre avant d’écrire des règles de remplacement, de la logique de validation, du matériel d’apprentissage linguistique, des vérifications de puzzles ou des notes de nettoyage de corpus qui dépendent de la distribution exacte des caractères. Le tableau de fréquences donne aux discussions de nettoyage une base mesurable plutôt que de se fier à la seule inspection visuelle. Partagez le tableau avec les relecteurs pour que les règles et les données qu’elles ciblent restent alignées.
Détecter le mojibake, les guillemets intelligents et les marqueurs BOM parasitesLancez l’analyse sur des chaînes suspectes et recherchez des regroupements inhabituels de caractères de remplacement, de marques combinatoires ou d’octets non imprimables qui signalent souvent un encodage incorrect, une substitution de guillemets intelligents ou des marqueurs BOM parasites dans du texte copié. Un pic soudain de U+FFFD ou un seul caractère à la fréquence étrange dans un court échantillon indique généralement une incompatibilité de jeu de caractères en amont.
Distinguer les points de code, les paires de substitution et les émojis ZWJAu-delà des comptages bruts, l’analyseur expose la différence entre points de code et clusters de graphèmes : un drapeau comme 🏳️‍🌈 est rendu par plusieurs points de code reliés par un ZWJ, et un symbole mathématique peut être un seul point de code ou une paire de substitution. Traitez les totaux comme des totaux de points de code afin que les séquences ZWJ et les paires de substitution soient visibles dans le tableau plutôt que de se fondre dans le texte environnant.

Principe technique

L'analyse de fréquence des caractères compte les occurrences de chaque caractère dans un texte. L'implémentation utilise une table de hachage (typiquement un Map en JavaScript) : 1) parcourir le texte caractère par caractère, 2) pour chaque caractère, incrémenter le compteur dans la map, 3) trier les entrées par nombre décroissant, 4) rendre l'histogramme (les 10 à 20 premiers caractères, le reste dans une catégorie résiduelle). L'algorithme est O(N) en fonction de la longueur du texte, où N est le nombre de caractères, et le coût dominant est la recherche et l'incrément dans la map (essentiellement gratuit dans V8 et SpiderMonkey pour le cas courant). Une subtilité utile : qu'est-ce qu'un caractère ? En JavaScript, .length retourne le nombre d'unités de code UTF-16, pas de points de code Unicode. Un caractère en dehors du Plan multilingue de base (émojis, idéogrammes CJK rares) est encodé en paire de substitution (deux unités de code), et un comptage naïf par unité de code surcomptera en traitant chaque moitié de substitution comme un caractère séparé. La page utilise Array.from(text) ou Intl.Segmenter pour itérer sur les points de code (ou les clusters de graphèmes), ce qui est la bonne définition d'un caractère pour la plupart des cas d'usage. Une application utile : l'analyse fréquentielle est la technique classique pour casser les chiffrements par substitution (César, Vigenère, substitution simple). La distribution de fréquence des lettres anglaises est bien connue (E, T, A, O, I, N, S, H, R sont les plus courantes, dans cet ordre approximatif), et un chiffrement par substitution préserve la distribution de fréquence, donc la lettre la plus fréquente du texte chiffré correspond probablement à E, la deuxième à T, et ainsi de suite. La page est un outil pédagogique, pas un outil de cryptanalyse, mais la technique est la même. Une réserve sur Unicode : pour les langues CJK, la distribution de fréquence des caractères dépend du corpus (roman moderne, poésie classique, texte technique) et du niveau d'analyse (caractère, mot, bigramme, trigramme). Une analyse fréquentielle d'un roman chinois moderne donne une distribution ; une analyse des Analectes en donne une autre. La page est indépendante du corpus, l'utilisateur peut donc l'exécuter sur n'importe quel texte.

  • Table de hachage (Map en JS) : parcourir le texte, incrémenter le compteur, trier par nombre décroissant, rendre l'histogramme ; O(N) en fonction de la longueur du texte avec un coût par caractère très faible.
  • Paires de substitution : un caractère en dehors du BMP (émojis, CJK rares) occupe deux unités de code UTF-16 ; un comptage naïf par unité de code surcompte ; utiliser Array.from ou Intl.Segmenter.
  • Cryptanalyse par chiffrement par substitution : fréquence des lettres anglaises E, T, A, O, I, N, S, H, R (les plus courantes dans cet ordre) ; un chiffrement par substitution préserve la distribution.
  • Fréquence CJK : dépend du corpus (roman moderne, poésie classique, texte technique) et du niveau d'analyse (caractère, mot, bigramme) ; la page est indépendante du corpus.
  • Top-N et catégorie résiduelle : la page affiche par défaut les 10 à 20 premiers caractères par fréquence, avec une catégorie résiduelle pour le reste ; utile pour repérer des motifs dans un texte dense.
  • Sensibilité à la casse : la page propose une bascule sensible/insensible à la casse ; l'anglais est généralement insensible à la casse (E et e sont la même lettre, juste des formes différentes), le CJK est toujours insensible à la casse (pas de concept de casse).
  • Performance : O(N) pour le comptage, O(K log K) pour le tri des K caractères distincts ; la page gère des textes d'un million de caractères en bien moins d'une seconde, ce qui est le pattern de production.

Exemples

Analyse de texte anglais

Entrée "hello world" → Résultat : 'l' apparaît 3 fois (27,3 %), 'o' apparaît 2 fois (18,2 %)

Analyse de texte chinois

Entrée "我爱中国我爱北京" → Résultat : '我' et '爱' apparaissent chacun 2 fois (25 %)

Comparaison de distribution de fréquence

Texte anglais : 'e' le plus fréquent à ~12,7 % ; chinois : '的' le plus fréquent à ~4 %

FAQ

Que compte l'analyseur ?

Chaque caractère unique et sa fréquence d'apparition, triés par fréquence. Utile pour l'analyse de chiffrements (le texte anglais a des fréquences de lettres prévisibles, commençant par E, T, A, O), le profilage de texte et la détection de caractères inattendus dans un document copié-collé.

Les espaces sont-ils comptés ?

Oui par défaut : espaces, tabulations et sauts de ligne ont chacun leur propre ligne. Activez « ignorer les espaces » si vous voulez uniquement les caractères imprimables. Les espaces sont généralement le « caractère » le plus fréquent dans un texte en langue naturelle (~20 %).

Le comptage tient-il compte de la casse ?

Par défaut, oui : « A » et « a » sont distincts. Activez « ignorer la casse » pour les fusionner, ce qui est courant pour l'analyse linguistique. Pour l'inspection de code ou de hachages, la casse est importante.

Cela fonctionne-t-il pour le chinois, le japonais, le coréen ?

Oui. Chaque caractère CJK est compté individuellement. Le tableau de fréquences d'un paragraphe en chinois affiche naturellement des centaines de caractères distincts puisque le chinois ne dispose pas d'un alphabet partagé. L'outil gère correctement Unicode via le comptage par grappes de graphèmes.

Puis-je voir la fréquence en pourcentage ?

Oui, la page affiche généralement le décompte et le pourcentage du total. Utile pour comparer les distributions de lettres à des distributions de référence connues lors du décodage de chiffrements par substitution simple.

Pourquoi la somme des pourcentages ne fait-elle pas 100 ?

Arrondi. Chaque cellule est arrondie à un nombre fixe de décimales ; la somme des pourcentages arrondis peut s'écarter de 100 % de quelques dixièmes. Additionnez les décomptes bruts pour un total exact.

Mon texte est-il envoyé en ligne ?

Non. L'analyse de fréquence s'effectue dans votre navigateur. Le texte collé n'est pas transmis.