Сайт учителя

Тинькова Е.Н.

Кодирование текстов

Picture backgroundЭТО ЧТО?????

Текст в памяти компьютера хранится как последовательность двоичных кодов символов. Изображения символов хранятся в отдельных шрифтовых файлах.

В текстовых файлах (которые не содержат оформления, например, в файлах с расширением txt) хранятся не изображения символов, а их коды. Откуда же компьютер берёт изображения символов, когда выводит текст на экран? Оказывается, при этом с диска загружается шрифтовой файл (он может иметь, например, расширение fon, ttfy otf), в котором хранятся изображения, соответствующие каждому из кодов. Именно эти изображения и выводятся на экран. Это значит, что при изменении шрифта текст на экране может выглядеть совсем по-другому. Например, многие шрифты не содержат изображений русских букв. Поэтому, когда вы передаёте (или пересылаете) кому-то текстовый файл, нужно убедиться, что у адресата есть использованный вами шрифт.

Современные текстовые процессоры умеют внедрять шрифты в файл; в этом случае файл содержит не только коды символов, но и шрифтовые файлы. Хотя файл увеличивается в объеме, адресат гарантированно увидит его в таком же виде, что и вы.

 

Международным стандартом является 7-битная кодировка ASCII, которая определяет коды 0-127 для 128 символов, в том числе латинских букв, цифр, знаков препинания, знаков арифметических операций, скобок и др.

В современных компьютерах минимальная единица памяти, имеющая собственный адрес, — это байт (8 бит). Поэтому для хранения кодов ASCII в памяти можно добавить к ним ещё один (старший) нулевой бит, таким образом, получая 8-битную кодировку. Дополнительный бит можно использовать: он даёт возможность добавить в таблицу ещё 128 символов с кодами от 128 до 255. Такое расширение ASCII часто называют кодовой страницей. Первую половину кодовой страницы (коды от 0 до 127) занимает стандартная таблица ASCII, а вторую — символы национальных алфавитов (например, русские буквы).

Для русского языка существуют несколько кодовых страниц, которые были разработаны для разных операционных систем. Наиболее известны:

  • кодовая страница Windows-1251 (СР-1251) — в системе Windows;
  • кодовая страница KOI8-R — в С/шх-совместимых операционных системах и электронной почте;
  • альтернативная кодировка СР-866 — в системе MS DOS;
  • кодовая страница MacCyrillic — на компьютерах фирмы Apple (Макинтош и др.).

Проблема состоит в том, что, если набрать русский текст в одной кодировке (например, в Windows-1251), а просматривать в другой (например, в KOI8-R), текст будет очень сложно прочитать:

Для веб-страниц в Интернете используют кодовые страницы Windows-1251 и KOI8-R. Браузер после загрузки страницы пытается автоматически определить её кодировку. Если ему это не удаётся, вы увидите странный набор букв вместо понятного русского текста. В этом случае нужно сменить кодировку вручную с помощью меню Вид браузера.

Главный недостаток однобайтных кодировок заключается в том, что в одном документе можно использовать только 256 символов (включая 128 символов ASCII).

 

Для того чтобы в одном документе можно было использовать более 256 символов, в 1991 году был принят стандарт кодирования символов UNICODE, который включает знаки любых существующих (и даже некоторых мёртвых) языков, математические и музыкальные символы и др.

В современной версии UNICODE можно кодировать до 1 112 064 различных знаков, однако реально используются немногим более 137 ООО.

В системе Windows применяется кодировка UNICODE, называемая UTF-16 (от англ. UNICODE Transformation Format — формат преобразования UNICODE). В ней все наиболее важные символы кодируются с помощью 16 бит (2 байт), а редко используемые — с помощью 4 байт.

В Unix-подобных системах, например в Linux, чаще применяют кодировку UTF-8. В ней все символы, входящие в таблицу ASCII, кодируются с помощью 1 байта, а другие символы могут занимать от 2 до 4 байт. Если значительную часть текста составляют латинские буквы и цифры, такой подход позволяет значительно уменьшить объём файла по сравнению с UTF-16. Текст, состоящий только из символов таблицы ASCII, кодируется точно так же, как и в кодировке ASCII. По данным поисковой системы Google, на начало 2014 года около 80% сайтов в Интернете использовали кодировку UTF-8.

Кодировки стандарта UNICODE позволяют использовать символы разных языков в одном документе, но за это приходится расплачиваться увеличением объёма файлов.

Задача 1. Автоматическое устройство осуществило перекодировку информационного сообщения на русском языке, первоначально записанного в 16-битном коде UNICODE, в 8-битную кодировку KOI8-R. При этом информационное сообщение уменьшилось на 480 бит. Какова длина сообщения в символах?

Решение. Обозначим количество символов в сообщении через L. При использовании 16-битной кодировки информационный объём сообщения равен 16 • L бит, а после перекодирования в 8-битный код он стал равен 8 • L бит. Таким образом, объём сообщения уменьшился на 8 • L бит, отсюда находим: L = 480/8 = 60 символов.

Ответ: 60 символов.

 

 

Block title

Вход на сайт

Поиск

Календарь

«  Январь 2026  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
262728293031

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сайт посетили

Елена_Николаевна, Серпиков, Кутная, kazaevaanna931, Астахова, alexmorozov1505

Архив записей