Перейти до вмісту
Обране

Конвертер 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. Якщо ви порівнюєте перетворений текст із різних джерел, перевіряйте обидва коди; показаний результат може виглядати однаково, попри різні базові значення.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *