Analisador de Frequência de Caracteres
Conte a frequência de cada caractere no seu texto
Opções
Ordenar
| Caractere | Quantidade | Frequência | Distribuição |
|---|
O que é análise de frequência de caracteres?
A análise de frequência de caracteres conta quantas vezes cada caractere aparece em um texto e qual participação ele representa. Ela pode considerar letras, números, pontuação, espaços, caracteres CJK, símbolos e caracteres de controle pouco visíveis, dependendo da entrada. Isso é útil em exercícios de criptografia, análise simples de substituição, extração de características textuais, limpeza de dados, verificação de codificação, pesquisa de compressão e controle de qualidade de conteúdo importado. Frequências estranhas podem revelar caracteres ocultos, texto mal decodificado, abas repetidos, idiomas inesperados ou resíduos de copiar e colar. A ferramenta não explica a causa sozinha, mas torna a distribuição mensurável.
Como Usar
Como usar
- Digite ou cole seu texto na área de entrada
- O sistema conta automaticamente a ocorrência e a frequência de cada caractere
- Use as opções de ordenação para organizar os resultados por caractere ou contagem
- Ajuste as opções (diferenciar maiúsculas de minúsculas, espaços, quebras de linha)
Escopo da Contagem
- Decida se espaços, pontuação, maiúsculas/minúsculas e quebras de linha devem ser contados antes de comparar textos.
- Em textos multilíngues, lembre-se de que emoji, caracteres compostos e caracteres CJK podem não se comportar como letras latinas simples.
Casos de uso
Princípio técnico
A análise de frequência de caracteres conta as ocorrências de cada caractere em um texto. A implementação usa uma tabela hash (tipicamente um Map em JavaScript): 1) percorrer o texto caractere por caractere, 2) para cada caractere, incrementar a contagem no mapa, 3) ordenar as entradas por contagem decrescente, 4) renderizar o histograma (10-20 caracteres principais, com os restantes em um bucket de cauda). O algoritmo é O(N) no comprimento do texto, onde N é o número de caracteres, e o custo dominante é a busca e incremento no mapa (essencialmente gratuito no V8 e SpiderMonkey para o caso comum).
Uma sutileza útil: o que conta como um caractere? Em JavaScript, .length retorna o número de code units UTF-16, não code points Unicode. Um caractere fora do Basic Multilingual Plane (emoji, ideogramas CJK raros) é codificado como um surrogate pair (dois code units), e uma contagem ingênua por code unit vai contar demais ao tratar cada metade do surrogate como um caractere separado. A página usa Array.from(text) ou Intl.Segmenter para iterar code points (ou clusters de grafemas), que é a definição correta de caractere para a maioria dos casos de uso.
Uma aplicação útil: a análise de frequência é a técnica clássica para quebrar cifras de substituição (Caesar, Vigenère, substituição simples). A distribuição de frequência de letras em inglês é bem conhecida (E, T, A, O, I, N, S, H, R são as mais comuns, nessa ordem aproximada), e uma cifra de substituição preserva a distribuição de frequência, então a letra mais comum no texto cifrado provavelmente corresponde a E, a segunda a T, e assim por diante. A página é uma ferramenta didática, não uma ferramenta de criptoanálise, mas a técnica é a mesma.
Uma ressalva sobre Unicode: para idiomas CJK, a distribuição de frequência de caracteres depende do corpus (romance moderno, poesia clássica, texto técnico) e do nível de análise (caractere, palavra, bigrama, trigrama). Uma análise de frequência de um romance chinês moderno dá uma distribuição; uma análise de frequência dos Analectos dá outra diferente. A página é agnóstica ao corpus, então o usuário pode executá-la em qualquer texto.
- Tabela hash (Map em JS): percorrer texto, incrementar contagem, ordenar por contagem decrescente, renderizar histograma; O(N) no comprimento do texto com custo muito baixo por caractere.
- Surrogate pairs: um caractere fora do BMP (emoji, CJK raro) são dois code units UTF-16; contagem ingênua por code unit conta demais; usar Array.from ou Intl.Segmenter.
- Criptoanálise de cifras de substituição: frequência de letras em inglês E, T, A, O, I, N, S, H, R (mais comuns nessa ordem); uma cifra de substituição preserva a distribuição.
- Frequência CJK: depende do corpus (romance moderno, poesia clássica, texto técnico) e do nível de análise (caractere, palavra, bigrama); a página é agnóstica ao corpus.
- Top-N e cauda: a página renderiza os 10-20 caracteres principais por padrão, com um bucket de cauda para os restantes; útil para identificar padrões em textos densos.
- Diferenciação de maiúsculas: a página expõe um alternador sensível/insensível a maiúsculas; inglês é tipicamente insensível (E e e são a mesma letra, apenas formas diferentes), CJK é sempre insensível (não conceito de maiúsculas).
- Desempenho: O(N) para contagem, O(K log K) para ordenar K caracteres distintos; a página processa textos de 1 milhão de caracteres bem menos de um segundo, que é o padrão de produção.
Exemplos
Análise de texto em inglês
Entrada "hello world" → Resultado: 'l' aparece 3 vezes (27,3%), 'o' aparece 2 vezes (18,2%)Análise de texto em chinês
Entrada "我爱中国我爱北京" → Resultado: '我' e '爱' aparecem 2 vezes cada (25%)Comparação de distribuição de frequência
Texto em inglês: 'e' mais alto em ~12,7%; chinês: '的' mais alto em ~4%Perguntas frequentes
O que o analisador conta?
Cada caractere único e quantas vezes ele aparece, ordenado por frequência. Útil para análise de cifras (texto em inglês tem frequências de letras previsíveis começando por E, T, A, O), perfilamento de texto e para encontrar caracteres inesperados em um documento copiado e colado.
Os espaços em branco são contados?
Sim, por padrão — espaços, tabulações e quebras de linha aparecem em linhas próprias. Ative 'ignorar espaços em branco' se você quiser apenas caracteres imprimíveis. O espaço em branco costuma ser o 'caractere' mais comum em texto natural (~20%).
A contagem diferencia maiúsculas e minúsculas?
Por padrão, sim — 'A' e 'a' são contados separadamente. Ative 'ignorar caixa' para juntá-los, o que é comum em análise de linguagem natural. Para inspeção de código ou de hash, a diferença entre maiúsculas e minúsculas importa.
Funciona para chinês, japonês e coreano?
Sim. Cada caractere CJK é contado individualmente. A tabela de frequência de um parágrafo em chinês naturalmente mostra centenas de caracteres distintos, já que o chinês não tem alfabeto compartilhado. A ferramenta lida com Unicode corretamente via contagem por grafema.
Posso ver a frequência em porcentagem?
Sim, a página geralmente mostra a contagem e a porcentagem do total. Útil para comparar distribuições de letras com distribuições de referência conhecidas ao quebrar cifras de substituição simples.
Por que a porcentagem não soma 100?
Arredondamento. Cada célula é arredondada para um número fixo de decimais; a soma das porcentagens arredondadas pode se desviar de 100% por alguns décimos. Some as contagens brutas para um total exato.
Meu texto é enviado para algum servidor?
Não. A análise de frequência é feita no seu navegador. O texto colado não é transmitido.
Ferramentas relacionadas
Ferramenta de Deduplicação de Texto
Ferramenta gratuita de deduplicação de texto online com modos por linha, palavra, frase e parágrafo. Remova conteúdo duplicado com opções de maiúsculas e ordem.
Ferramenta de Inversão de String
Ferramenta de reversão de string online gratuita com modos de texto completo, palavra por palavra, linha por linha. Processamento de texto divertido para várias necessidades.
Remover Quebras de Linha
Ferramenta online gratuita para remover quebras de linha do texto. Suporta remover todas as quebras, converter para espaços, remover linhas vazias e mesclar linhas vazias. Executa localmente no seu navegador.
Ferramenta de Conversão Chinês
Conversor chinês online gratuito para conversão de Chinês Simplificado para Tradicional. Suporte a padrões da China continental, Taiwan, Hong Kong, gerencie diferenças de vocabulário regional.
Ferramenta de Teste Regex
Testador de regex online gratuito com correspondência em tempo real e resultados destacados. Suporte a biblioteca de regex comum, ajude a depurar e validar expressões regulares.
Ferramenta de Conversão Pinyin
Conversor online de chinês para Pinyin. Suporta marcas de tom, números de tom e sem tom. Personalize separador e capitalização. Converta caracteres chineses para Pinyin instantaneamente.
