Перейти к содержанию
Избранное

Конвертер ASCII

Обновлено:

Преобразуйте текст в коды символов, разделённые пробелами, или переводите десятичные коды обратно в текст. Введите содержимое и выберите «В ASCII» или «В текст».

Конвертер текста в ASCII-коды

Поля ввода
Если включено, результат будет автоматически обновляться при изменении любого значения.

Формула конвертера ASCII

Формула
\[ a_i=\operatorname{codeUnit}(c_i),\qquad c_i=\operatorname{fromCodeUnit}(a_i\bmod 65536) \]

Где:

  • \(c_i\) — одна кодовая единица UTF-16 текста.
  • \(a_i\) — её десятичное числовое значение.
  • \(i\) — позиция кодовой единицы во входных данных.

Режим «В ASCII» выводит десятичное значение каждой кодовой единицы UTF-16, разделённые пробелами. «В текст» преобразует каждое заданное десятичное целое число обратно в кодовую единицу UTF-16; операция взятия остатка описывает, как обрабатываются корректные целые числа вне диапазона 0–65535.

Конвертер ASCII — пример вычисления

Пример: введите Hi! в поле «Содержимое» и выберите «В ASCII». Символы имеют десятичные значения 72, 105 и 33.

\[ \text{Hi!}\longrightarrow 72\quad 105\quad 33 \]

Результат: 72 105 33. Чтобы выполнить обратное преобразование, выберите «В текст» и введите 72 105 33; результат — Hi!.

Как пользоваться конвертером ASCII

  1. Введите данные в поле Содержимое. Для режима «В ASCII» введите текст, который хотите преобразовать. Для режима «В текст» введите десятичные коды, разделённые пробелами или другими пробельными символами, например 72 105 33.
  2. Выберите Тип: В ASCII для преобразования текста в числа или В текст для преобразования чисел в текст.
  3. Прочитайте преобразованное значение под надписью Результат. Его можно скопировать и использовать в другом месте.

Поле «Содержимое» изначально пустое, поэтому перед преобразованием введите в него что-нибудь. Режим «В текст» удаляет пробельные символы вокруг списка кодов и считает пробельные символы между кодами разделителями. Чтобы обозначить пробел в декодированном тексте, включите код 32.

Что означают эти коды

ASCII присваивает числа 128 символам и управляющим кодам с номерами от 0 до 127. Распространённые примеры: A — 65, a — 97, пробел — 32. Преобразование привычных букв в их числовые коды помогает проверять текст, контролировать данные, которыми обмениваются программы, или понимать, как представляются символы.

Несмотря на название, этот конвертер не ограничен значениями ASCII. В режиме «В ASCII» он использует представление UTF-16, принятое в JavaScript: берёт каждую кодовую единицу UTF-16 и выводит её десятичное значение. Стандартные символы ASCII дают свои обычные ASCII-номера. Многие другие символы дают значения выше 127, поэтому такие значения нельзя называть стандартными ASCII-кодами.

В режиме «В текст» конвертер считывает каждую запись, отделённую пробельными символами, как десятичное целое число и создаёт из него кодовую единицу UTF-16. Коды от 0 до 127 соответствуют стандартному ASCII; другие допустимые значения кодовых единиц могут давать символы вне ASCII. Результат может также содержать невидимые символы, например перевод строки, поэтому его внешний вид может не раскрывать все содержащиеся в нём коды.

Это различие особенно важно для эмодзи и некоторых менее распространённых символов. Они представляются двумя кодовыми единицами UTF-16, поэтому режим «В ASCII» выводит два числа, а не одну кодовую точку Unicode. Если вам нужны байты или другая кодировка, этот результат не является списком байтов UTF-8.

Допущения и практические советы

  • Для режима «В текст» используйте десятичные числа. Например, 65 66 67 даёт ABC. Конвертер не воспринимает шестнадцатеричную или двоичную запись как отдельный формат ввода.
  • Разделяйте коды пробельными символами. Конвертер не использует запятые в качестве разделителей, поэтому избегайте ввода вроде 65,66.
  • Чтобы включить в декодированный текст пробел, табуляцию или перевод строки, используйте 32, 9 или 10 соответственно. Пробелы, набранные между числовыми кодами, лишь разделяют записи.
  • Используйте корректные целочисленные коды для предсказуемых результатов. Инструмент не проверяет каждую запись перед преобразованием: некорректные значения могут дать неожиданный или невидимый символ. Целые числа вне диапазона кодовых единиц UTF-16 «заворачиваются» в значение от 0 до 65535.
  • Скопируйте результат, если невидимые символы мешают просмотреть его на странице. Для независимой проверки объёма введённого текста воспользуйтесь счётчиком символов.

Если вы работаете с представлениями чисел, а не с кодами символов, вам подойдут конвертер шестнадцатеричных чисел и конвертер двоичных чисел для других форматов чисел. Их вывод нельзя напрямую использовать вместо разделённых пробелами десятичных кодов символов этого конвертера без дополнительного шага интерпретации.

Распространённые значения ASCII

Символ или управляющий код Десятичный код
Пробел 32
Восклицательный знак (!) 33
Цифра 0 48
Заглавная A 65
Строчная a 97
Перевод строки 10

В таблице показаны десятичные значения, соответствующие числам, которые этот конвертер выдаёт для данных символов ASCII. Перевод строки — управляющий символ: он создаёт разрыв строки, а не видимую букву.

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

Как найти ASCII-коды вручную?

Возьмите базовое значение из таблицы ASCII и считайте дальше. Заглавная A — это 65, значит, C — 67; строчная a — 97, значит, c — 99. Цифры начинаются с 48 для 0, поэтому 7 равна 55. Эти приёмы работают для стандартных символов ASCII, но не для произвольных символов Unicode.

В каком диапазоне ASCII-значений находятся буквы и цифры?

Стандартные значения ASCII лежат в диапазоне от 0 до 127. Заглавные буквы занимают 65–90, строчные — 97–122, цифры — 48–57. «Хороших» значений не существует: число просто идентифицирует символ, а не измеряет его качество. Значения выше 127 могут быть корректным результатом этого конвертера, но это не стандартные значения ASCII.

Почему у буквы с диакритикой другое значение байтов UTF-8?

Этот конвертер выдаёт кодовые единицы UTF-16, а не закодированные байты. Например, é здесь даёт десятичное значение 233, тогда как её кодировка UTF-8 состоит из двух байтов — 195 и 169. Оба представления описывают один и тот же символ, но по-разному. Если вам нужны байты для файла или сетевого сообщения, используйте кодировщик UTF-8.

Почему чисел больше, чем видимых символов?

Видимый символ не всегда соответствует одной кодовой единице UTF-16. Эмодзи может давать два числа, а буква с комбинированным диакритическим знаком, идущим следом, может давать отдельные числа, хотя выглядит как один символ. Символы конца строки также могут присутствовать, не отображаясь в виде видимых знаков. Считайте вывод как кодовые единицы, а не обязательно как символы, которые видит читатель.

Что произойдёт, если ввести отрицательное число или некорректный код?

Отрицательные целые числа «заворачиваются» в диапазон кодовых единиц UTF-16: например, −1 превращается в 65535. Конвертер не выполняет строгую проверку записей: он разбирает начало каждого токена как десятичное целое число. Так, `65abc` может превратиться в A, а токен без распознаваемого числа — в невидимый нулевой символ. Для надёжных результатов используйте обычные целые числа.

Почему перевод строки иногда соответствует 10, а иногда 13 10?

Разные системы по-разному представляют конец строки. Разрыв строки в стиле Unix — это обычно перевод строки, код 10. Конец строки в стиле Windows, как правило, использует возврат каретки с последующим переводом строки — коды 13 10. Если вы сравниваете преобразованный текст из разных источников, проверяйте оба кода: отображаемый результат может выглядеть одинаково, хотя базовые значения различаются.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *