Unicode Калькулятор Онлайн — Преобразуйте текст в коды | Бесплатно

Unicode Калькулятор

Ввод данных и настройки

Результат преобразования

Генератор кодов Unicode: Онлайн-калькулятор для преобразования текста

Unicode Калькулятор — это профессиональный инженерный инструмент для точного преобразования текста в числовые кодовые точки стандарта Unicode и обратно.

Он выполняет функции генератора и декодера кодов, работая с десятичной, шестнадцатеричной и двоичной системами счисления.

Инструмент незаменим для разработчиков, тестировщиков, специалистов по информационной безопасности и инженеров.

Инструкция по использованию калькулятора

Интерфейс калькулятора разделен на две логические зоны: для ввода данных и настроек и для вывода результата.

Работа строится по следующему алгоритму:

  • Выберите режим работы. «Кодировать текст в цифры» преобразует символы в последовательность числовых кодов Unicode. «Декодировать цифры в текст» выполняет обратное преобразование.
  • Задайте систему счисления для кодов. Доступны десятичный, шестнадцатеричный или двоичный код.
  • Введите данные. В режиме кодирования в поле введите любую строку. В режиме декодирования введите числовые коды, разделенные указанным разделителем.
  • Определите разделитель кодов. По умолчанию используется пробел. Можно указать запятую, точку с запятой или любой другой символ. Важно: разделитель не может быть пустой строкой.
  • Нажмите «Преобразовать». Результат появится в правой части интерфейса. Его можно скопировать в буфер обмена соответствующей кнопкой.

Калькулятор работает в реальном времени. Результат обновляется автоматически при изменении входных данных или настроек.

Математическая логика и алгоритм преобразования

В основе работы калькулятора лежат стандартные методы JavaScript для работы с кодовыми точками Unicode, что соответствует спецификациям ECMAScript.

1. Кодирование текста (Текст → Код):

Для каждого символа входной строки определяется его кодовая точка Unicode (code point) — уникальный числовой идентификатор.

Алгоритм использует метод String.prototype.codePointAt(index).

Для базовой многоязычной плоскости (BMP, символы до U+FFFF) это один числовой код.

Для символов за пределами BMP используется одна кодовая точка (суррогатные пары обрабатываются автоматически).

Полученное целое число конвертируется в выбранную систему счисления:

  • В десятичную: codePoint.toString(10)
  • В шестнадцатеричную: codePoint.toString(16).toUpperCase()
  • В двоичную: codePoint.toString(2)

Результаты для каждого символа объединяются в строку с использованием заданного разделителя.

2. Декодирование кодов (Код → Текст):

Входная строка разбивается на массив подстрок с помощью заданного разделителя (String.split(delimiter)).

Каждая подстрока интерпретируется как число в указанной системе счисления:

  • Из десятичной: parseInt(codeStr, 10)
  • Из шестнадцатеричной: parseInt(codeStr, 16)
  • Из двоичной: parseInt(codeStr, 2)

Перед преобразованием выполняется валидация:

  • Проверка, что результат парсинга — целое неотрицательное число (Number.isInteger(codePoint) && codePoint >= 0).
  • Проверка, что код находится в допустимом диапазоне Unicode (codePoint <= 0x10FFFF).
  • Проверка, что код не попадает в изолированный диапазон суррогатных пар (codePoint < 0xD800 || codePoint > 0xDFFF).

Валидная кодовая точка преобразуется в символ с помощью функции String.fromCodePoint(codePoint).

Полученные символы объединяются в результирующую строку.

Практические примеры (Case Studies)

Пример 1: Кодирование технического сообщения для отладки передачи данных.

Задача: Подготовить для логирования шестнадцатеричные коды строки "Ошибка: #404", передаваемой по каналу с двоичной кодировкой.

Действия в калькуляторе:

  1. Режим: Кодировать текст в цифры.
  2. Система счисления: Шестнадцатеричный код.
  3. Исходный текст: Ошибка: #404.
  4. Разделитель: Пробел (по умолчанию).

Результат: 41E 448 438 431 43A 430 3A 20 23 34 30 34

Анализ: Каждый символ, включая кириллические буквы, двоеточие, пробел и цифры, получил свой уникальный hex-код в кодировке UTF-16.

Пример 2: Декодирование двоичного дампа памяти для анализа.

Задача: Расшифровать последовательность двоичных кодов, извлеченную из дампа.

Коды: 1001000 1100101 1101100 1101100 1101111 0100000 1010111 1101111 1110010 1101100 1100100.

Действия в калькуляторе:

  1. Режим: Декодировать цифры в текст.
  2. Система счисления: Двоичный код.
  3. Исходные коды: Вставить приведенную последовательность.
  4. Разделитель: Пробел.

Результат: Hello World

Анализ: Калькулятор корректно интерпретировал каждый двоичный блок как код ASCII/Unicode, восстановив оригинальную текстовую строку.

Справочная таблица: Коды Unicode для часто используемых символов

В таблице ниже приведены примеры кодовых точек для основных типов символов в трех системах счисления.

Символ / Описание Десятичный код Шестнадцатеричный код Двоичный код (16 бит)
Латинская заглавная A 65 41 1000001
Цифра «0» 48 30 110000
Кириллическая заглавная «А» 1040 410 10000010000
Символ новой строки (LF) 10 A 1010
Символ табуляции 9 9 1001
Эмодзи «😀» (Grinning Face) 128512 1F600 11111011000000000
Спецсимвол «€» (Евро) 8364 20AC 10000010101100

Примечание: Двоичное представление в таблице усечено для удобства чтения. Фактическая длина может быть больше, особенно для кодовых точек выше U+FFFF.

Ответы на часто задаваемые вопросы (FAQ)

1. В чем отличие этого калькулятора от простого конвертера ASCII?

Данный инструмент работает со всем диапазоном Unicode (до U+10FFFF), включая кириллицу, иероглифы, специальные символы и эмодзи.

Простые конвертеры часто ограничены таблицей ASCII (127 символов) или расширенной Latin-1 (255 символов).

2. Какой разделитель кодов лучше использовать?

Для совместимости с другими системами и языками программирования рекомендуются:

  • Пробел: Универсальный вариант, легко читается.
  • Запятая (,): Часто используется в CSV-файлах и массивах.
  • Точка с запятой (;): Подходит для случаев, где запятая может быть частью данных.

Избегайте использования символов, которые могут встречаться в самих кодах.

3. Почему при декодировании возникает ошибка «Код находится в диапазоне суррогатных пар»?

Unicode резервирует диапазон U+D800–U+DFFF для суррогатных пар, используемых в кодировке UTF-16.

Эти значения не являются валидными изолированными кодовыми точками.

Если вы видите эту ошибку, вероятно, данные были некорректно извлечены из UTF-16 потока без учета парности суррогатов.

4. Можно ли с помощью этого калькулятора кодировать текст в UTF-8?

Нет, напрямую — нет. Данный калькулятор преобразует символы в их кодовые точки Unicode, которые являются абстрактными номерами.

UTF-8 — это способ сериализации этих кодовых точек в байтовую последовательность.

5. Инструмент выдает десятичный код для кириллической «А» — 1040. Почему не 192, как в старой кодировке Windows-1251?

Калькулятор работает исключительно со стандартом Unicode, который является универсальным и уникальным для каждого символа.

Десятичный код 1040 — это кодовая точка символа «А» в Unicode (U+0410).

Значение 192 соответствует коду этого символа в устаревшей и ограниченной локальной кодировке Windows-1251.

➤