Конвертер ASCII
Преобразуйте текст в коды символов, разделённые пробелами, или переводите десятичные коды обратно в текст. Введите содержимое и выберите «В ASCII» или «В текст».
Конвертер текста в ASCII-коды
Формула конвертера ASCII
Где:
- \(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
- Введите данные в поле Содержимое. Для режима «В ASCII» введите текст, который хотите преобразовать. Для режима «В текст» введите десятичные коды, разделённые пробелами или другими пробельными символами, например
72 105 33. - Выберите Тип: В ASCII для преобразования текста в числа или В текст для преобразования чисел в текст.
- Прочитайте преобразованное значение под надписью Результат. Его можно скопировать и использовать в другом месте.
Поле «Содержимое» изначально пустое, поэтому перед преобразованием введите в него что-нибудь. Режим «В текст» удаляет пробельные символы вокруг списка кодов и считает пробельные символы между кодами разделителями. Чтобы обозначить пробел в декодированном тексте, включите код 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. Если вы сравниваете преобразованный текст из разных источников, проверяйте оба кода: отображаемый результат может выглядеть одинаково, хотя базовые значения различаются.