Как компьютер понимает текст? Разбираемся с кодированием!
Сейчас мы узнаем, как компьютер «видит» и хранит текст — буквы, цифры, смайлики и даже твой ник в игре. Это не магия, а математика!
🔤 Как компьютер различает символы?
Представь: ты нажимаешь на клавишу «А», и компьютер должен понять, что это именно «А», а не «Б» или «5». Но компьютер не умеет читать буквы — он работает только с нулями и единицами (помнишь двоичный код?).
💡 Вот в чём фишка
Каждому символу — букве, цифре, знаку — присваивается свой уникальный двоичный код. Это как секретный номер для каждого символа!
Каждый символ — это секретный код из нулей и единиц
🎯 Восьмиразрядный двоичный код: 256 вариантов
Давай разберёмся с математикой. Если у нас есть цепочка из 8 нулей и единиц (это называется 8-битный или восьмиразрядный код), сколько разных комбинаций можно составить?
🔢 Формула простая
2⁸ = 256
Это значит, что с помощью 8 бит можно закодировать 256 разных символов. Этого хватит для всех букв, цифр, знаков препинания и даже специальных символов!
📋 Кодовые таблицы: справочник для компьютера
Чтобы все компьютеры «говорили на одном языке», были созданы специальные справочники — кодовые таблицы. Они показывают, какой двоичный код соответствует какому символу.
Кодовые таблицы — библиотека символов для компьютера
ASCII — первая международная таблица
ASCII (читается как «аски») — это American Standard Code for Information Interchange, то есть Американский стандартный код для обмена информацией.
Таблица ASCII содержит коды для 256 различных символов (от 0 до 255).
| Диапазон кодов | Что закодировано |
|---|---|
| 0–32 | Управляющие символы (удаление, перевод строки и т.д.) |
| 33–127 | Латинские буквы, цифры, знаки препинания, арифметические операции |
| 128–255 | Буквы национальных алфавитов, дополнительные символы |
🎮 Пример из жизни
Когда ты печатаешь букву M в Майнкрафте или любой игре, компьютер видит код 77 (в десятичной системе) или 01001101 (в двоичной).
🌍 Проблема с разными языками
А что если тебе нужно написать текст на русском? Или на арабском? Или добавить эмодзи?
Для русских букв существовало несколько кодировок (например, Windows-1251 и КОИ-8). Проблема: если ты откроешь файл с русским текстом не в той кодировке, вместо слов увидишь абракадабру! 😱
❌ Пример проблемы
Слово «ТЕКСТ» в кодировке Windows будет набором одних кодов, а в КОИ-8 — совсем других. Неудобно, правда?
✨ Unicode — единый язык для всего мира!
Чтобы решить эту проблему, создали Unicode (Юникод) — универсальный стандарт кодирования, который может представить все символы всех языков мира!
Unicode объединяет все языки и символы мира
🌟 Сколько символов в Unicode?
Готовься удивиться: 2¹⁶ = 65 536 различных символов!
В Unicode есть место для:
- Всех алфавитов (латиница, кириллица, китайские иероглифы, арабская вязь)
- Математических и научных символов
- Смайликов и эмодзи 😊🎮🚀
- И ещё много чего!
💡 Интересный факт
Первые 128 символов в Unicode полностью совпадают с ASCII, чтобы старые программы продолжали работать.
💾 Информационный объём текста: считаем биты и байты
Теперь самое интересное — как понять, сколько места займёт текст в памяти компьютера?
📐 Формула расчёта
I = K × i
Где:
- I — информационный объём всего текста
- K — количество символов в тексте
- i — информационный вес одного символа (сколько бит нужно для кодирования одного символа)
📊 Важные единицы измерения
- 1 байт = 8 бит
- 1 килобайт (Кбайт) = 1024 байт = 2¹⁰ байт
- 1 мегабайт (Мбайт) = 1024 Кбайт = 2²⁰ байт
Считаем информационный объём текста — это проще, чем кажется!
🎮 Разбираем на примерах!
Цитата Жан-Жака Руссо
Условие: Считая, что каждый символ кодируется одним байтом, определи информационный объём текста:
Тысячи путей ведут к заблуждению, к истине — только один.
👉 Показать решение
Решение:
- Считаем все символы (включая пробелы и знаки препинания): 57 символов
- Каждый символ = 1 байт
- Информационный объём = 57 байт
Ответ: 57 байт
Африканские страны в Unicode
Условие: Витя написал текст в Unicode (каждый символ кодируется двумя байтами, то есть 16 битами):
ЮАР, Того, Алжир, Уганда, Эфиопия, Танзания, Свазиленд, Кабо-Верде — африканские страны.
Витя удалил одну страну, вычеркнув лишние запятые и пробелы — два пробела не должны идти подряд. При этом размер нового предложения стал на 96 бит меньше. Какую страну удалил Витя?
👉 Показать решение
Решение:
- В Unicode на каждый символ уходит 2 байта = 16 бит
- Размер уменьшился на 96 бит
- 96 ÷ 16 = 6 символов было удалено (включая запятую и пробел)
- Ищем страну из 4 букв (6 символов минус запятая и пробел): Того ✓
Ответ: Того
Словарь иностранных слов
Условие: Выразите в мегабайтах объём текстовой информации в «Современном словаре иностранных слов» из 740 страниц, если на одной странице размещается в среднем 60 строк по 80 символов (включая пробелы). Считайте, что при записи использовался алфавит мощностью 256 символов.
👉 Показать решение
Решение:
- K = 740 × 60 × 80 = 3 552 000 символов
- Алфавит мощностью 256 символов означает: N = 2ⁱ → 256 = 2⁸ → i = 8 бит = 1 байт
- I = 3 552 000 байт = 3 552 000 ÷ 1024 = 3468,75 Кбайт ≈ 3,39 Мбайт
Ответ: 3,39 Мбайт
📌 Самое главное
Ключевые моменты, которые нужно запомнить:
🎯 Проверь себя!
Проверьте, как хорошо вы усвоили материал!
1. Почему восьмиразрядный двоичный код называют иначе «однобайтовым»?
Подсказка: сколько бит в одном байте?
2. Зачем была создана кодировка Unicode? Чем она лучше ASCII?
Придумай свой пример: может быть, ты захочешь отправить смайлик другу в другой стране?
3. Представь, что информация на сайте отобразилась как набор странных символов. Что могло произойти?
Как это связано с кодировками?
4. Зная, что в ASCII десятичный код строчной латинской буквы «а» на 32 больше кода прописной буквы «А», декодируй сообщение
77 105 99 107 101 121 32 77 111 117 115 101
Подсказка: используй таблицу ASCII из учебника!
5. Посчитай информационный объём своего полного имени (фамилия, имя, отчество)
Считай, что каждый символ кодируется одним байтом. Ответ дай в битах.
6. 🔥 Вызов для самых смелых! Задача про экран монитора
В текстовом режиме экран монитора обычно разбивается на 25 строк по 80 символов в строке. Определи объём текста, занимающего весь экран монитора, в 16-битной кодировке Unicode.