Ferramenta de Análise e Visualização de Frequência de Caracteres
Ferramenta gratuita de análise de frequência de caracteres. Visualize padrões de distribuição de letras instantaneamente. Perfeita para criptografia, compressão de dados, detecção de codificação de texto e análise linguística.
Análise de Frequência de Caracteres
Documentação
O que é Análise de Frequência de Caracteres?
Já se perguntou quais letras dominam sua escrita? A análise de frequência de caracteres conta quantas vezes cada caractere aparece no texto, revelando padrões que não são óbvios à primeira vista. Essa técnica remonta à criptografia do século IX e continua essencial hoje para quebrar cifras, otimizar algoritmos de compressão e estudar padrões linguísticos.
Aqui está o que torna essa ferramenta útil: cole qualquer texto - seja código, mensagens criptografadas ou documentos simples - e você verá instantaneamente um gráfico de barras mostrando exatamente quais caracteres aparecem com mais frequência. Achei isso particularmente valioso ao depurar problemas de codificação de texto ou analisar padrões de cifras em pesquisas de segurança.
As aplicações do mundo real são surpreendentemente amplas. Ao trabalhar com projetos de compressão de dados, conhecer a distribuição de caracteres ajuda a escolher o algoritmo certo. Em trabalhos de criptoanálise, padrões de frequência incomuns podem revelar fraquezas em cifras de substituição. Até mesmo para edição básica de texto, identificar frequências de caracteres inesperadas pode revelar problemas ocultos de formatação ou codificação que você perderia em uma revisão manual.
Como a Análise de Frequência de Caracteres Funciona
O conceito central é simples: contar cada caractere e visualizar os resultados. Mas a implementação requer atenção cuidadosa à eficiência, especialmente ao processar arquivos de texto grandes.
O Algoritmo por Trás da Contagem de Caracteres
Veja como a análise processa seu texto:
- Processamento de Entrada de Texto: Cada caractere é examinado individualmente, incluindo espaços, pontuação e símbolos especiais.
- Contagem de Caracteres: Um hash map rastreia a contagem de cada caractere, incrementando sempre que esse caractere aparece.
- Cálculo de Frequência: Após varrer todo o texto, são calculadas porcentagens em relação à contagem total de caracteres.
- Ordenação de Dados: Os resultados são ordenados alfabeticamente ou por frequência—a ordenação alfabética facilita encontrar caracteres específicos, enquanto a ordenação por frequência destaca padrões dominantes.
- Visualização: O gráfico de barras exibe seus resultados instantaneamente, tornando os padrões óbvios de um relance.
A representação matemática da frequência de caracteres pode ser expressa como:
Onde:
- é a frequência do caractere
- é o número de ocorrências do caractere
- é o número total de caracteres no texto
Estruturas de Dados e Desempenho
Um hash map (também chamado de dicionário ou objeto) fornece a maneira mais eficiente de contar ocorrências de caracteres:
11. Inicializar um hash map/dicionário vazio
22. Para cada caractere no texto de entrada:
3 a. Se o caractere existir no hash map, incrementar sua contagem
4 b. Se não, adicionar o caractere ao hash map com uma contagem de 1
53. Converter o hash map em um array de pares caractere-contagem
64. Ordenar o array conforme necessário (alfabeticamente ou por frequência)
75. Gerar visualização com base no array ordenado
8Esta abordagem tem complexidade de tempo O(n), onde n equivale ao comprimento do texto de entrada. O que isso significa na prática: um documento de 100.000 caracteres é processado tão rapidamente por caractere quanto um trecho de 100 caracteres. As buscas de tempo constante do hash map tornam isso possível—cada verificação de caractere leva o mesmo tempo, independentemente de quantos caracteres únicos você já contou.
Uma limitação a notar: textos extremamente grandes (milhões de caracteres) podem desacelerar em implementações baseadas em navegador devido a restrições de memória do JavaScript. Para análise de texto em escala industrial, normalmente se usaria processamento no lado do servidor com linguagens como Python ou Go.
Como Usar Esta Ferramenta de Frequência de Caracteres
Começar é rápido. Basta colar seu texto e observar a análise acontecer automaticamente.
Insira Seu Texto
A ferramenta aceita qualquer coisa que você forneça:
- Documentos de texto simples e artigos
- Trechos de código (Python, JavaScript, qualquer linguagem)
- Passagens literárias ou escrita criativa
- Mensagens criptografadas que você está tentando descriptografar
- Textos em línguas estrangeiras (ótimo para comparar padrões de linguagem)
- Documentação técnica ou logs
Não há limite de comprimento prático para uso típico—cole um parágrafo ou um capítulo inteiro.
Análise em Tempo Real
Algo útil: a ferramenta processa seu texto conforme você digita. Sem botão "Calcular" para clicar, sem espera. Cole seu texto e o gráfico de barras é atualizado instantaneamente. Isso facilita experimentar—tente diferentes amostras de texto e veja imediatamente como a distribuição de caracteres muda.
Lendo Seus Resultados
A visualização mostra três aspectos principais:
- Gráfico de Barras: Cada barra representa um caractere. Barras mais altas significam maior frequência. Você identificará rapidamente quais caracteres dominam seu texto.
- Contagem Total de Caracteres: Mostra exatamente quantos caracteres seu texto contém, incluindo espaços e pontuação.
- Contagens Individuais: Passe o mouse sobre qualquer barra para ver a contagem exata daquele caractere.
O que procurar: Em texto em inglês, normalmente você esperaria 'E', 'T', 'A', 'O' e 'I' próximos ao topo. Se ver padrões incomuns—como 'Q' ou 'Z' aparecendo frequentemente—isso pode indicar substituição de cifra ou problemas de codificação.
Copiar e Exportar
Precisa dos dados para um relatório ou apresentação? Clique no botão "Copiar" para capturar os resultados formatados. Você pode colar isso diretamente em planilhas, documentos ou qualquer outro lugar em que esteja trabalhando. Achei isso especialmente útil ao documentar descobertas de criptoanálise ou incluir evidências estatísticas em relatórios técnicos.
Casos de Uso do Mundo Real para Análise de Frequência de Caracteres
A análise de frequência de caracteres aparece em campos surpreendentemente diversos. Aqui está onde ela é realmente usada:
Criptografia e Quebra de Cifras de Substituição
É aqui que a análise de frequência ganhou sua reputação. Cifras de substituição simples—onde cada letra mapeia para outra letra—preservam os padrões de frequência do idioma original.
Exemplo prático: Você está analisando uma mensagem criptografada e nota que um símbolo aparece 12,7% das vezes. Em inglês, 'E' tipicamente aparece em torno de 12,7%, então esse símbolo provavelmente representa 'E'. Cruzando referências com os segundo e terceiro símbolos mais comuns (provavelmente 'T' em ~9% e 'A' em ~8%), você já tem sua primeira brecha na cifra.
Criptografia moderna como AES-256 não tem essa vulnerabilidade—ela embaralha tudo tão completamente que a análise de frequência não revela nada. Mas cifras de substituição ainda aparecem em quebra-cabeças, competições CTF e documentos históricos.
Algoritmos de Compressão de Dados
Codificação de Huffman e algoritmos de compressão similares dependem inteiramente da frequência de caracteres. O conceito: atribuir códigos de bits curtos para caracteres comuns e códigos mais longos para caracteres raros.
Cenário do mundo real: Você está comprimindo um arquivo de log onde 'E' aparece 15% das vezes e 'Z' apenas 0,07%. Seu algoritmo de compressão atribui a 'E' um código de 3 bits (000) e a 'Z' um código de 11 bits. Multiplicando essa diferença por milhares de caracteres, você consegue reduzir o tamanho do arquivo em 40-60% sem perder dados. É assim exatamente que arquivos ZIP e GZIP funcionam por baixo dos panos.
Análise Linguística e Detecção de Autoria
A frequência de caracteres funciona como uma impressão digital para estilos de escrita. Cada autor tende a favorecer certas letras e padrões de pontuação, mesmo inconscientemente.
Aplicação real: Linguistas forenses analisando o caso Unabomber usaram análise de frequência como uma das várias técnicas para identificar os padrões de escrita de Theodore Kaczynski. Embora a escolha de palavras importasse mais, padrões no nível de caracteres (como densidade de vírgulas e estrutura de frases) contribuíram para o perfil linguístico geral.
Você pode tentar isso por si mesmo: analise vários parágrafos de diferentes autores no mesmo gênero. Você notará diferenças mensuráveis na densidade de pontuação, comprimento médio de palavras (refletido em padrões de caracteres) e distribuição de letras.
Detectando Codificação de Texto e Erros de Transmissão
Quando o texto parece corrompido ou exibe caracteres estranhos, a análise de frequência ajuda a diagnosticar o problema.
Cenário comum: Você recebe um arquivo que deveria conter texto em inglês, mas o gráfico de frequência mostra ocorrências anormalmente altas de caracteres como 'Ã' ou '©'. Isso imediatamente sugere que texto UTF-8 está sendo interpretado como codificação ISO-8859-1—um erro frequente ao transferir arquivos entre sistemas.
Da mesma forma, se você espera inglês mas vê padrões de caracteres que não correspondem (faltando letras comuns como 'E' ou 'T'), pode estar olhando para dados criptografados, dados binários interpretados incorretamente como texto, ou um idioma completamente diferente.
Processamento de Linguagem Natural e Detecção de Idioma
Sistemas de PLN usam frequência de caracteres como um primeiro identificador de idioma. Diferentes idiomas têm distribuições de caracteres drasticamente diferentes.
Como funciona na prática: Inglês usa muito 'E', 'T', 'A'. Espanhol mostra altas frequências para 'E', 'A', 'O'. Alemão tem muito 'E', 'N', além de umlauts (ä, ö, ü) que não aparecem em inglês de forma alguma. Uma simples verificação de frequência pode identificar o idioma antes de aplicar modelos de PLN mais sofisticados, economizando recursos computacionais.
Aprendendo Programação e Estatística
A frequência de caracteres é um excelente primeiro projeto para estudantes que estão aprendendo a programar. Ensina conceitos fundamentais sem complexidade excessiva.
Por que funciona como ferramenta de ensino: Os alunos praticam hash maps, loops, algoritmos de ordenação e visualização de dados—todos conceitos fundamentais de programação. Os resultados são imediatamente visíveis e verificáveis, tornando a depuração mais fácil. Já vi isso ser usado com sucesso em cursos de CS101 como primeira implementação de algoritmo do mundo real.
Quando Usar Métodos Alternativos de Análise de Texto
A análise de frequência de caracteres tem seus pontos fortes, mas às vezes você precisa de uma abordagem diferente. Aqui está o que mais existe e quando cada um faz sentido:
Análise de Frequência de Palavras
Contar palavras em vez de caracteres revela padrões semânticos—sobre o que o texto realmente trata, em vez de apenas sua composição de caracteres.
Melhor para: Análise de conteúdo, pesquisa de palavras-chave para SEO ou identificação de tópicos. Se você está analisando posts de blog para encontrar temas ou extrair palavras-chave para indexação, a frequência de palavras fornece resultados significativos que a análise de caracteres não pode igualar.
Análise de N-gramas
N-gramas examinam sequências de caracteres ou palavras—bigramas (pares de duas letras), trigramas (pares de três letras), e assim por diante. Isso captura padrões contextuais.
Melhor para: Sistemas de texto preditivo, recursos de autocorreção e modelagem de linguagem. O teclado do seu celular usa análise de n-gramas para prever qual palavra vem a seguir. Ele sabe que "o" é frequentemente seguido por um substantivo, não com base em letras individuais, mas em sequências de palavras aprendidas.
Análise de Sentimento
Determina o tom emocional (positivo, negativo, neutro) usando técnicas de PNL em vez de contagem simples.
Melhor para: Análise de avaliações de clientes, monitoramento de mídias sociais ou rastreamento da percepção de marca. Se você precisa saber se as pessoas estão felizes ou chateadas com algo, a análise de sentimento fornece respostas que a análise de frequência não pode oferecer.
Análise de Legibilidade
Métricas como Flesch-Kincaid Reading Ease ou Índice SMOG medem o quão difícil é entender um texto, considerando o comprimento das frases e a complexidade das sílabas.
Melhor para: Avaliação de conteúdo educacional, avaliação de documentação técnica ou garantia de acessibilidade. Antes de publicar conteúdo para um público geral, as pontuações de legibilidade ajudam a identificar passagens excessivamente complexas que podem confundir os leitores.
A História por Trás da Análise de Frequência de Caracteres
Esta técnica tem quebrado códigos há mais de mil anos. Veja como ela evoluiu:
Século IX: O Primeiro Avanço
O polímata árabe Al-Kindi documentou a primeira descrição conhecida de análise de frequência em seu manuscrito "Um Manuscrito sobre Decifrar Mensagens Criptográficas". Ele percebeu que certas letras aparecem com mais frequência em textos em árabe, e esse padrão persiste mesmo após a criptografia com cifras de substituição simples. Essa percepção revolucionou a criptanálise — de repente, as mensagens criptografadas não eram tão seguras como todos pensavam.
Renascença: A Corrida Armamentista Começa
No século XVI, os criptógrafos europeus conheciam a análise de frequência e projetaram cifras especificamente para derrotá-la. Giovanni Battista Bellaso e Blaise de Vigenère desenvolveram cifras polialfabéticas que alteravam o padrão de substituição ao longo da mensagem, interrompendo os padrões de frequência. Isso iniciou uma disputa de séculos entre criadores e decifradores de códigos.
Segunda Guerra Mundial: Criptanálise em Escala Industrial
Os decifradores britânicos de Bletchley Park — incluindo Alan Turing e sua equipe — usaram a análise de frequência como um componente na quebra da máquina Enigma alemã. Embora o processo completo fosse muito mais complexo, entender os padrões de frequência de caracteres e letras ajudou a identificar fragmentos de texto conhecido (cribs) que poderiam desvendar mensagens inteiras.
Era Moderna: Além da Criptografia
Com a chegada dos computadores, a análise de frequência se tornou automatizada e encontrou novas aplicações. Os mesmos princípios matemáticos que quebram códigos também otimizam algoritmos de compressão (codificação de Huffman, LZ77), identificam idiomas em sistemas de PLN e analisam conjuntos de dados de texto massivos. O que começou como uma técnica de criptografia se tornou uma ferramenta fundamental na teoria da informação e ciência da computação.
Exemplos de Código
Aqui estão implementações de análise de frequência de caracteres em várias linguagens de programação:
Python
1def analyze_character_frequency(text):
2 # Inicializa um dicionário vazio
3 frequency = {}
4
5 # Conta cada caractere
6 for char in text:
7 if char in frequency:
8 frequency[char] += 1
9 else:
10 frequency[char] = 1
11
12 # Converte para lista de tuplas e ordena alfabeticamente
13 result = sorted(frequency.items())
14
15 return result
16
17# Exemplo de uso
18text = "Hello, World!"
19frequencies = analyze_character_frequency(text)
20for char, count in frequencies:
21 print(f"'{char}': {count}")
22JavaScript
1function analyzeCharacterFrequency(text) {
2 // Inicializa um objeto vazio
3 const frequency = {};
4
5 // Conta cada caractere
6 for (let i = 0; i < text.length; i++) {
7 const char = text[i];
8 if (frequency[char]) {
9 frequency[char]++;
10 } else {
11 frequency[char] = 1;
12 }
13 }
14
15 // Converte para array de objetos e ordena alfabeticamente
16 const result = Object.entries(frequency)
17 .map(([char, count]) => ({ char, count }))
18 .sort((a, b) => a.char.localeCompare(b.char));
19
20 return result;
21}
22
23// Exemplo de uso
24const text = "Hello, World!";
25const frequencies = analyzeCharacterFrequency(text);
26frequencies.forEach(item => {
27 console.log(`'${item.char}': ${item.count}`);
28});
29Java
1import java.util.*;
2
3public class CharacterFrequencyAnalyzer {
4 public static List<Map.Entry<Character, Integer>> analyzeCharacterFrequency(String text) {
5 // Inicializa um HashMap
6 Map<Character, Integer> frequency = new HashMap<>();
7
8 // Conta cada caractere
9 for (int i = 0; i < text.length(); i++) {
10 char c = text.charAt(i);
11 frequency.put(c, frequency.getOrDefault(c, 0) + 1);
12 }
13
14 // Converte para lista e ordena alfabeticamente
15 List<Map.Entry<Character, Integer>> result = new ArrayList<>(frequency.entrySet());
16 result.sort(Map.Entry.comparingByKey());
17
18 return result;
19 }
20
21 public static void main(String[] args) {
22 String text = "Hello, World!";
23 List<Map.Entry<Character, Integer>> frequencies = analyzeCharacterFrequency(text);
24
25 for (Map.Entry<Character, Integer> entry : frequencies) {
26 System.out.println("'" + entry.getKey() + "': " + entry.getValue());
27 }
28 }
29}
30C++
1#include <iostream>
2#include <string>
3#include <map>
4#include <vector>
5#include <algorithm>
6
7std::vector<std::pair<char, int>> analyzeCharacterFrequency(const std::string& text) {
8 // Inicializa um mapa
9 std::map<char, int> frequency;
10
11 // Conta cada caractere
12 for (char c : text) {
13 frequency[c]++;
14 }
15
16 // Converte para vetor de pares
17 std::vector<std::pair<char, int>> result(frequency.begin(), frequency.end());
18
19 // Mapa já está ordenado por chave (caractere)
20 return result;
21}
22
23int main() {
24 std::string text = "Hello, World!";
25 auto frequencies = analyzeCharacterFrequency(text);
26
27 for (const auto& pair : frequencies) {
28 std::cout << "'" << pair.first << "': " << pair.second << std::endl;
29 }
30
31 return 0;
32}
33Ruby
1def analyze_character_frequency(text)
2 # Inicializa um hash vazio
3 frequency = Hash.new(0)
4
5 # Conta cada caractere
6 text.each_char do |char|
7 frequency[char] += 1
8 end
9
10 # Converte para array de arrays e ordena alfabeticamente
11 result = frequency.to_a.sort_by { |char, _| char }
12
13 return result
14end
15
16# Exemplo de uso
17text = "Hello, World!"
18frequencies = analyze_character_frequency(text)
19frequencies.each do |char, count|
20 puts "'#{char}': #{count}"
21end
22Perguntas Frequentes
O que é análise de frequência de caracteres?
A análise de frequência de caracteres conta quantas vezes cada caractere aparece no texto. Os principais usos: quebrar cifras de substituição, otimizar algoritmos de compressão de dados (como arquivos ZIP), detectar erros de codificação de texto, identificar idiomas em sistemas de PLN e analisar padrões de escrita. É uma técnica fundamental que tem sido usada há mais de 1.000 anos em criptografia.
Quanto texto preciso para resultados precisos?
Para padrões de linguagem típicos, você precisa de pelo menos algumas centenas de caracteres—aproximadamente 2-3 parágrafos. Frases curtas não corresponderão às distribuições de frequência esperadas porque há muita variação aleatória. Quando você atinge 1.000+ caracteres, os padrões se estabilizam e refletem o estilo real do idioma ou do autor. Para trabalhos de criptoanálise, mais texto sempre ajuda—quebrar uma cifra com um texto cifrado de 20 caracteres é quase impossível, mas uma amostra de 500 caracteres fornece padrões sólidos para trabalhar.
Isso pode quebrar criptografia moderna como AES ou HTTPS?
Não. A análise de frequência de caracteres só funciona em cifras de substituição simples onde cada letra mapeia consistentemente para outra letra ou símbolo. A criptografia moderna (AES-256, RSA, TLS/HTTPS) usa transformações matemáticas tão complexas que a saída criptografada parece completamente aleatória—nenhum padrão de frequência sobrevive. Se a análise de frequência pudesse quebrar HTTPS, a banca online não existiria.
Por que diferentes idiomas têm padrões de caracteres diferentes?
A estrutura da linguagem determina a frequência de caracteres. O inglês usa palavras curtas como "the", "and", "for" intensamente, elevando as frequências de 'E' e 'T'. O espanhol tem palavras mais cheias de vogais, então 'A', 'E', 'O' dominam. O alemão usa palavras compostas e umlauts (ä, ö, ü) que não existem em inglês. Esses padrões são tão consistentes que você pode identificar o idioma apenas pela distribuição de frequência de caracteres—sem necessidade de tradução.
Frequência de caracteres vs. frequência de palavras—qual devo usar?
Use frequência de caracteres quando: analisar texto criptografado, otimizar compressão, detectar erros de codificação ou trabalhar com qualquer idioma (é universal). Use frequência de palavras quando: precisar de significado semântico—extração de palavras-chave, análise de conteúdo, otimização de SEO ou entender sobre o que um texto trata. A análise de caracteres é de baixo nível e independente de idioma; a análise de palavras é de alto nível e focada em significado.
Como os algoritmos de compressão usam a frequência de caracteres?
Algoritmos como Huffman coding atribuem códigos binários curtos a caracteres frequentes e códigos longos a caracteres raros. Exemplo: Em texto em inglês, 'E' pode receber um código de 3 bits (000), enquanto 'Z' recebe 11 bits. Como 'E' aparece 12,7% das vezes e 'Z' apenas 0,07%, você economiza quantidades massivas de espaço. Este é o princípio básico por trás de ZIP, GZIP e muitos outros formatos de compressão sem perdas. O algoritmo primeiro constrói uma tabela de frequência e depois codifica com base nessas estatísticas.
Maiúsculas vs. minúsculas importam?
Depende do seu objetivo. Para criptoanálise, mantenha-os separados—'E' e 'e' podem descriptografar para letras diferentes. Para análise linguística ou otimização de compressão, você geralmente converterá tudo para minúsculas primeiro para focar nos padrões de letras em vez do estilo de capitalização. Esta ferramenta conta como caracteres distintos, fornecendo os dados brutos para você decidir como interpretá-los.
A frequência de caracteres pode identificar quem escreveu algo?
Não por si só, mas contribui para a análise estilométrica. Cada autor tem padrões sutis: densidade de pontuação, comprimento médio de palavras (refletido na distribuição de caracteres) e peculiaridades de uso de letras. Combinado com escolha de palavras, estrutura de frases e outros marcadores, a frequência de caracteres se torna um ponto de dados em uma impressão digital de autoria mais ampla. Linguistas forenses usam isso para casos de atribuição, mas nenhuma métrica única é suficiente sozinha.
Como a ferramenta conta espaços e pontuação?
Cada caractere conta, incluindo espaços, tabulações, quebras de linha, pontuação e símbolos especiais. Espaços são frequentemente o "caractere" mais frequente em texto normal. Essa contagem completa fornece a imagem total da composição do texto—útil para detectar formatação oculta, analisar código (onde colchetes e ponto e vírgula importam) ou entender a estrutura completa de mensagens criptografadas.
Qual é o tamanho máximo de texto que posso analisar?
A ferramenta lida facilmente com documentos típicos—até 50.000-100.000 caracteres devem funcionar bem em qualquer navegador moderno. Além disso, você pode ver lentidão enquanto o JavaScript processa os dados. Para analisar livros inteiros ou conjuntos de dados massivos (milhões de caracteres), você precisaria de uma implementação do lado do servidor em Python, Go ou outra linguagem projetada para processamento pesado de dados. Para uso diário, no entanto, a ferramenta baseada em navegador lida com tudo que você precisará.
Referências Técnicas e Leituras Complementares
-
MDN Web Docs: Map (Implementação de Hash Map em JavaScript) - Documentação oficial da Mozilla Developer Network sobre estruturas de dados de hash map usadas na análise de frequência.
-
Shannon, C. E. (1951). "Predição e entropia do inglês impresso." The Bell System Technical Journal, 30(1), 50-64. - Artigo fundamental sobre teoria da informação e frequências de caracteres.
-
Huffman, D. A. (1952). "Um Método para a Construção de Códigos de Mínima Redundância." Proceedings of the IRE, 40(9), 1098-1101. - Artigo original descrevendo a codificação de Huffman, que se baseia na frequência de caracteres.
-
Padrão de Codificação de Caracteres Unicode - Documentação oficial do Consórcio Unicode para entender conjuntos de caracteres e codificação.
-
Stallings, W. (2017). Criptografia e Segurança de Redes: Princípios e Práticas (7ª ed.). Pearson. - Livro didático abrangente que cobre técnicas de criptoanálise, incluindo análise de frequência.
-
Codificação de Huffman - Wikipédia - Explicação detalhada de algoritmos de compressão que dependem da frequência de caracteres.
-
Juola, P. (2006). "Atribuição de Autoria." Foundations and Trends in Information Retrieval, 1(3), 233-334. - Pesquisa acadêmica sobre o uso de padrões de caracteres para identificação de autoria.
Comece a Analisar Seu Texto
Pronto para ver quais padrões estão escondidos no seu texto? Cole qualquer conteúdo na ferramenta acima - mensagens criptografadas, amostras de código, amostras de escrita ou documentos em qualquer idioma. A visualização aparece instantaneamente, mostrando exatamente quais caracteres dominam seu texto. Seja para depurar problemas de codificação, analisar cifras ou simplesmente por curiosidade sobre a distribuição de caracteres, você obterá insights imediatos e acionáveis.