Что такое кодировка (UTF-8)
Компьютер хранит только числа. Кодировка — это правило, как превратить буквы в числа и обратно.
Буквы как числа
Внутри компьютера нет букв — только числа. Кодировка задаёт таблицу: какой букве какое число соответствует. Например, латинская A — это число 65. Есть разные таблицы, и в этом корень многих проблем с текстом.
Почему появляются «кракозябры»
Если текст записали в одной кодировке, а открыли в другой, числа истолкуются неверно — вместо русских букв появятся непонятные символы. Это и есть «кракозябры»: данные целы, но прочитаны по неправильной таблице.
UTF-8 — универсальное решение
UTF-8 умеет закодировать символы почти всех языков мира: русский, английский, эмодзи. Поэтому она стала стандартом в интернете и в файлах. Если везде использовать UTF-8, «кракозябры» почти исчезают.
Что важно новичку
Сохраняйте файлы с кодом и текстом в UTF-8 — так советуют по умолчанию. В Python строки по умолчанию работают с Unicode, поэтому русский текст обрабатывается без боли. Базовую работу со строками удобно освоить в «Дрон Кодере».
Частые вопросы
Почему в старых файлах бывает Windows-1251? Это устаревшая кодировка для кириллицы; сейчас предпочитают UTF-8.
Влияет ли кодировка на размер файла? Немного: символы разных языков занимают разное число байтов, но для текста это несущественно.
Начать игру бесплатно