Один из 94 печатных символов, каждый с вероятностью ~1,06%. Буквы, цифры и спецсимволы.
ASCII определяет 94 печатных символа с кодами от 33 до 126. Эти символы лежат в основе каждого языка программирования, каждого URL-адреса, каждого адреса электронной почты и каждого интерфейса командной строки на Земле. 95-й «печатный» символ — пробел (код 32), но он невидим и здесь исключён. Остаются 26 заглавных букв, 26 строчных букв, 10 цифр и 32 спецсимвола. Вместе они образуют полный видимый инструментарий цифрового текста.
Боб Бемер из IBM возглавил комитет, утвердивший Американский стандартный код обмена информацией (ASCII) в 1963 году. Назначение кодов было далеко не произвольным. Заглавные буквы начинаются с 65 (двоичное 1000001), строчные — с 97 (двоичное 1100001), а цифры — с 48 (двоичное 0110000). Такое расположение позволяет использовать элегантные битовые трюки, которыми программисты пользуются до сих пор: переключение 5-го бита меняет регистр буквы, а вычитание 48 преобразует символ цифры в её числовое значение. Шестьдесят лет программного обеспечения опираются на эти тщательно продуманные двоичные позиции.
Буквы превосходят числом все остальные символы: 52 из 94 (55,3%). Спецсимволы занимают 32 из 94 (34,0%). Цифры, несмотря на их фундаментальную роль в математике и вычислениях, составляют лишь 10 из 94 (10,6%). При по-настоящему случайном выборе из всех 94 символов буква выпадает более чем в половине случаев. График сходимости трёх линий выше демонстрирует эту асимметрию в реальном времени: три независимые линии пропорций стремятся к ожидаемым целевым значениям с каждым выбором.
ASCII был разработан исключительно для английского языка. Юникод расширил эту основу, охватив все системы письменности на Земле: 149 813 символов в 161 письменности по состоянию на версию 15.1. Первые 128 кодовых позиций Юникода идентичны ASCII, что обеспечивает полную обратную совместимость. Каждый символ ASCII одновременно является допустимым символом Юникода. Подмножество ASCII остаётся универсальной общей основой цифровой коммуникации — 94 глифа, которые каждое устройство на планете отображает одинаково.
ASCII предоставляет наглядный путь к пониманию двоичного представления. Предложите ученикам многократно нажимать Пробел и наблюдать 7-битный двоичный код, отображаемый для каждого символа. Спросите: в чём двоичная разница между A (1000001) и a (1100001)? Ответ в один бит раскрывает продуманную структуру за тем, что кажется произвольной нумерацией. Для упражнения на коллекционирование предложите ученикам «зажечь» все 94 символа в справочной таблице ниже. Математика задачи коллекционера купонов предсказывает, сколько выборов для этого потребуется в среднем: примерно 94 × ln(94) + 94 × 0,5772 ≈ 481 выбор. Реальные результаты варьируются и провоцируют дискуссию о математическом ожидании и индивидуальном опыте.
Каждый выбор символа на этой странице происходит целиком внутри вашего браузера с использованием crypto.getRandomValues() — Web Cryptography API. Сервер доставляет эту страницу. Ваше устройство выбирает символ. Никакие данные о выборах, история или шаблоны использования не передаются ни на какой сервер. Поделитесь ссылкой — и ваш друг получит тот же инструмент, генерирующий полностью независимые результаты на его собственном устройстве.
94 печатных символа. Каждый выпавший символ подсвечивается ниже. Сможете собрать их все?
Отправьте эту ссылку. Друг выберет свой символ. Сравните коды и категории.
Ежедневное вдохновение
Работы, отобранные жюри A' Design Award, представленные каждое утро.