ToolActToolAct

Анализатор частоты символов

Подсчёт частоты каждого символа в тексте

Входной текст

Настройки

Всего символов
0
Уникальных символов
0

排序

Настройки

频率分布
Нет данных. Введите текст.

Что такое частотный анализ символов?

Анализ частоты символов считает, сколько раз каждый символ встречается в тексте и какую долю занимает. В зависимости от ввода учитываются буквы, цифры, знаки пунктуации, пробелы, CJK-символы, специальные знаки и скрытые управляющие символы. Это полезно для криптографических упражнений, простого анализа подстановки, извлечения текстовых признаков, очистки данных, проверки кодировки, идей сжатия и контроля качества импортированного контента. Необычные частоты могут показать невидимые форматные символы, неверную декодировку, повторяющиеся разделители, неожиданный язык или следы копирования. Инструмент не объясняет причину автоматически, но дает измеримую картину распределения. Для опубликованного или многоязычного контента результат нужно проверить по языку, charset, контексту и edge cases.

Как использовать

Как использовать

  1. Введите или вставьте текст в поле ввода
  2. Система автоматически подсчитывает количество вхождений и частоту каждого символа
  3. Используйте параметры сортировки, чтобы упорядочить результаты по символу или количеству
  4. Настройте параметры (учёт регистра, пробелов, переносов строк)

Область подсчёта

  • Перед сравнением текстов решите, нужно ли учитывать пробелы, знаки препинания, регистр и переносы строк.
  • В многоязычных текстах учитывайте, что эмодзи, составные символы и иероглифы CJK могут вести себя иначе, чем одиночные латинские буквы.

Применение

Анализ загрязнённых логов, вывода OCR и списков ключевых словВставьте скопированные логи, вывод OCR, списки ключевых слов или закодированные строки, чтобы увидеть общее число символов, уникальные символы, количество, проценты и визуальные полосы, отсортированные по частоте. Сортировка по количеству выявляет доминирующие символы, а сортировка по символу позволяет просканировать алфавит по порядку. Такой снимок распределения — первый шаг перед решением, очищать, классифицировать или отбрасывать входные данные.
Выявление невидимых пробелов и проблем с регистромПереключайте учёт регистра, игнорирование пробелов и переносов строк, чтобы определить, вызваны ли дубли, сбои парсера или проблемы вёрстки невидимыми разделителями или различиями в регистре. Сравнение пары, посчитанной как различные символы, с парой, посчитанной как одинаковые, показывает, какие символы незаметно удваивают объём текста. Один неразрывный пробел среди тысяч строк проявится как крошечный, но реальный процент в таблице.
Подготовка основания для правил очистки и валидаторовОтсортируйте по символу или количеству перед написанием правил замены, логики валидации, материалов для изучения языка, проверок головоломок или заметок по очистке корпуса, зависящих от точного распределения символов. Таблица частот даёт измеримую основу для обсуждения очистки вместо relying on визуальной проверки. Поделитесь таблицей с рецензентами, чтобы правила и данные, на которые они направлены, оставались согласованными.
Обнаружение mojibake, «умных» кавычек и лишних маркеров BOMЗапустите анализ на подозрительных строках и ищите необычные скопления символов замены, комбинирующих знаков или непечатаемых байтов, которые часто указывают на неверную кодировку, подстановку типографских кавычек или stray BOM-маркеры в скопированном тексте. Внезапный всплеск U+FFFD или один символ со странной частотой в коротком образце обычно означает несовпадение кодировок на предыдущем этапе.
Различение кодовых точек, суррогатных пар и ZWJ-эмодзиПомимо простого подсчёта, анализатор показывает разницу между кодовыми точками и графемными кластерами: флаговое эмодзи вроде рендерится как несколько кодовых точек, объединённых ZWJ, а математический символ может быть одной кодовой точкой или суррогатной парой. Считайте итоги как итоги по кодовым точкам, чтобы ZWJ-последовательности и суррогатные пары были видны в таблице, а не сливались с окружающим текстом.

Технический принцип

Частотный анализ символов подсчитывает количество вхождений каждого символа в тексте. Реализация использует хеш-таблицу (обычно Map в JavaScript): 1) обход текста посимвольно, 2) для каждого символа увеличивается счётчик в карте, 3) записи сортируются по убыванию количества, 4) рендерится гистограмма (первые 10–20 символов, остальные в хвостовой группе). Алгоритм имеет сложность O(N) по длине текста, где N — количество символов, а основные затраты приходятся на поиск и инкремент в карте (фактически бесплатно в V8 и SpiderMonkey для типичного случая). Важный нюанс: что считается символом? В JavaScript .length возвращает количество кодовых единиц UTF-16, а не Unicode-кодовых точек. Символ за пределами базовой многоязычной плоскости (эмодзи, редкие CJK-идеограммы) кодируется суррогатной парой (две кодовые единицы), и наивный подсчёт по кодовым единицам завысит результат, treating каждую половину суррогата как отдельный символ. Страница использует Array.from(text) или Intl.Segmenter для итерации по кодовым точкам (или графемным кластерам), что является правильным определением символа для большинства случаев. Полезное применение: частотный анализ — классическая техника взлома подстановочных шифров (шифр Цезаря, Виженера, простая подстановка). Распределение частот английских букв хорошо известно (E, T, A, O, I, N, S, H, R — самые частые, в этом приблизительном порядке), а подстановочный шифр сохраняет частотное распределение, поэтому самая частая буква шифротекста, вероятно, соответствует E, вторая — T и так далее. Страница — учебный инструмент, а не инструмент криптоанализа, но техника та же. Оговорка по Unicode: для CJK-языков распределение частот символов зависит от корпуса (современный роман, классическая поэзия, технический текст) и уровня анализа (символ, слово, биграмма, триграмма). Частотный анализ современного китайского романа даёт одно распределение; частотный анализ «Бесед и суждений» — другое. Страница не зависит от корпуса, поэтому пользователь может запустить её на любом тексте.

  • Хеш-таблица (Map в JS): обход текста, инкремент счётчика, сортировка по убыванию, рендер гистограммы; O(N) по длине текста с очень быстрой стоимостью на символ.
  • Суррогатные пары: символ за пределами BMP (эмодзи, редкие CJK) — это две кодовые единицы UTF-16; наивный подсчёт по кодовым единицам завышает; используйте Array.from или Intl.Segmenter.
  • Криптоанализ подстановочных шифров: частоты английских букв E, T, A, O, I, N, S, H, R (самые частые в этом порядке); подстановочный шифр сохраняет распределение.
  • Частота CJK: зависит от корпуса (современный роман, классическая поэзия, технический текст) и уровня анализа (символ, слово, биграмма); страница не зависит от корпуса.
  • Первые N и хвост: страница по умолчанию рендерит первые 10–20 символов по частоте, с хвостовой группой для остальных; полезно для выявления паттернов в плотном тексте.
  • Учёт регистра: страница предоставляет переключение регистрозависимости/регистронезависимости; английский обычно регистронезависим (E и e — одна буква, просто разные начертания), CJK всегда регистронезависим (нет понятия регистра).
  • Производительность: O(N) для подсчёта, O(K log K) для сортировки K различных символов; страница обрабатывает тексты в 1 млн символов значительно быстрее секунды, что является production-паттерном.

Примеры

Анализ английского текста

Вход "hello world" → Результат: 'l' встречается 3 раза (27.3 %), 'o' встречается 2 раза (18.2 %)

Анализ китайского текста

Вход "我爱中国我爱北京" → Результат: '我' и '爱' встречаются по 2 раза каждый (25 %)

Сравнение распределения частот

Английский текст: 'e' максимально ~12.7 %; китайский: '的' максимально ~4 %

Часто задаваемые вопросы

Что считает анализатор?

Каждый уникальный символ и сколько раз он встречается, отсортированные по частоте. Полезно для криптоанализа (английский текст имеет предсказуемую частотность букв, начиная с E, T, A, O), для профилирования текста и для поиска неожиданных символов в скопированном документе.

Учитываются ли пробельные символы?

По умолчанию да — пробелы, табуляции и переводы строк получают свои строки в таблице. Включите «игнорировать пробельные символы», если вам нужны только печатаемые символы. Пробельные символы обычно — самый частый «символ» в тексте на естественном языке (~20%).

Учитывается ли регистр?

По умолчанию да — «A» и «a» считаются разными. Включите «игнорировать регистр», чтобы объединить их, что обычно используется для анализа естественного языка. Для анализа кода или хешей регистр имеет значение.

Работает ли это с китайским, японским, корейским?

Да. Каждый CJK-иероглиф считается отдельно. В таблице частот для китайского абзаца естественным образом окажутся сотни различных иероглифов, поскольку у китайского нет общего алфавита. Инструмент корректно работает с Unicode через подсчёт графемных кластеров.

Можно ли увидеть частоту в процентах?

Да, страница обычно показывает количество и процент от общего числа. Это удобно для сравнения распределения букв с известными эталонными распределениями при взломе простых шифров замены.

Почему сумма процентов не равна 100?

Округление. Каждое значение округляется до фиксированного числа знаков после запятой; сумма округлённых процентов может отличаться от 100% на десятые доли. Для точного итога суммируйте сами счётчики.

Загружается ли мой текст куда-либо?

Нет. Частотный анализ выполняется в вашем браузере. Вставленный текст никуда не передаётся.

Похожие инструменты

Инструмент подсчета слов

Бесплатный онлайн-счётчик символов, слов, абзацев и времени чтения в реальном времени. Незаменимый помощник при написании статей, эссе и постов для соцсетей.

Конвертер регистра

Бесплатный онлайн-конвертер регистра: camelCase, snake_case, kebab-case, CONSTANT и другие форматы. Незаменим для разработчиков при переименовании переменных.

Инструмент сравнения текста

Бесплатный онлайн-инструмент для сравнения текста с подсветкой различий. Построчное сравнение помогает быстро найти изменённые фрагменты.

Инструмент дедупликации текста

Бесплатный онлайн-инструмент для удаления дубликатов текста с режимами по строкам, словам, предложениям и абзацам. Удаляйте дубликаты с опциями регистра и порядка.

Инструмент тестирования регулярных выражений

Бесплатный онлайн-тестер регулярных выражений с мгновенным сопоставлением и подсветкой совпадений. Отлаживайте и проверяйте regex на ваших примерах.

Инструмент преобразования китайского

Бесплатный онлайн-конвертер китайского письма между упрощённым и традиционным. Учитывает различия в лексике материкового Китая, Тайваня и Гонконга при переводе.