ASCII
ASCII — 7-битная кодировка символов, которая сопоставляет значения от 0 до 127 латинским буквам, цифрам, знакам и управляющим символам.
Определение
ASCII — 7-битная кодировка символов со 128 значениями от 0 до 127. Она задаёт коды для основных латинских букв, цифр, знаков препинания, пробела и управляющих символов.
Значения от 32 до 126 соответствуют печатным символам. Диапазоны от 0 до 31 и значение 127 отведены под управляющие коды, включая перевод строки, возврат каретки и удаление; их действие зависит от системы.
Как это работает
Каждому символу назначено число. Прописной A соответствует десятичному 65, шестнадцатеричному 41 и двоичному 01000001. Это три записи одного значения.
ASCII определяет символы и управляющие коды, а двоичная и шестнадцатеричная системы лишь отображают их числа. Последовательность кодов становится текстом, когда программа применяет таблицу ASCII.
Практический пример
Тексту Hi соответствуют десятичные ASCII-коды 72 105, hex-байты 48 69 и двоичные байты 01001000 01101001. Все три записи задают одну и ту же пару символов.
ASCII не может напрямую представить кириллицу, большинство букв с диакритикой или эмодзи. Для такого текста нужна более широкая система символов — обычно Unicode в кодировке UTF-8.
ASCII, UTF-8 и расширенный ASCII
UTF-8 полностью сохраняет ASCII для значений от 0 до 127, поэтому обычный ASCII-текст одновременно является корректным UTF-8. Остальные символы в UTF-8 занимают дополнительные байты.
«Расширенный ASCII» — не единая кодировка. Так называют несколько несовместимых 8-битных кодовых страниц, поэтому для надёжного декодирования байтов от 128 до 255 нужно знать конкретную таблицу.
Нет. UTF-8 включает весь диапазон ASCII с теми же байтами, но также кодирует все символы Unicode многобайтовыми последовательностями.
Сам ASCII задаёт 128 значений, для которых достаточно 7 бит. На практике код часто хранится в 8-битном байте со старшим нулевым битом.
Нет. ASCII — общедоступное соответствие между символами и числами. Оно не скрывает текст и не требует ключа.