В чем заключается кодирование текстовой информации

С точки зрения ЭВМ текст состоит из отдельных символов. К числу символов принадлежат не только буквы (заглавные или строчные, латинские или русские), но и цифры, знаки препинания, спецсимволы типа «=», "(", «&» и т.п. и даже (обратите особое внимание!) пробелы между словами. Да, не удивляйтесь: пустое место в тексте тоже должно иметь свое обозначение.

Вспомним некоторые известные нам факты:

Множество символов, с помощью которых записывается текст, называется алфавитом.

Число символов в алфавите — это его мощность.

Формула определения количества информации: N = 2 b ,

где N — мощность алфавита (количество символов),

b — количество бит (информационный вес символа).

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

Т.к. 256 = 2 8 , то вес 1 символа — 8 бит.

Единице измерения 8 бит присвоили название 1 байт:

Двоичный код каждого символа в компьютерном тексте занимает 1 байт памяти.

Каким же образом текстовая информация представлена в памяти компьютера?

Тексты вводятся в память компьютера с помощью клавиатуры. На клавишах написаны привычные нам буквы, цифры, знаки препинания и другие символы. В оперативную память они попадают в двоичном коде. Это значит, что каждый символ представляется 8-разрядным двоичным кодом.

Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111. Таким образом, человек различает символы по их начертанию, а компьютер — по их коду.

Удобство побайтового кодирования символов очевидно, поскольку байт — наименьшая адресуемая часть памяти и, следовательно, процессор может обратиться к каждому символу отдельно, выполняя обработку текста. С другой стороны, 256 символов — это вполне достаточное количество для представления самой разнообразной символьной информации.

Теперь возникает вопрос, какой именно восьмиразрядный двоичный код поставить в соответствие каждому символу.

Понятно, что это дело условное, можно придумать множество способов кодировки.

Все символы компьютерного алфавита пронумерованы от 0 до 255. Каждому номеру соответствует восьмиразрядный двоичный код от 00000000 до 11111111. Этот код просто порядковый номер символа в двоичной системе счисления.

Таблица, в которой всем символам компьютерного алфавита поставлены в соответствие порядковые номера, называется таблицей кодировки.

Для разных типов ЭВМ используются различные таблицы кодировки.

Международным стандартом для ПК стала таблица ASCII (читается аски) (Американский стандартный код для информационного обмена).

Таблица кодов ASCII делится на две части.

Международным стандартом является лишь первая половина таблицы, т.е. символы с номерами от (00000000), до 127 (01111111).

Структура таблицы кодировки ASCII

Порядковый номер

Символ

0 — 31

00000000 — 00011111

Символы с номерами от 0 до 31 принято называть управляющими.
Их функция — управление процессом вывода текста на экран или печать, подача звукового сигнала, разметка текста и т.п.

32 — 127

00100000 — 01111111

Стандартная часть таблицы (английский). Сюда входят строчные и прописные буквы латинского алфавита, десятичные цифры, знаки препинания, всевозможные скобки, коммерческие и другие символы.
Символ 32 — пробел, т.е. пустая позиция в тексте.
Все остальные отражаются определенными знаками.

128 — 255

10000000 — 11111111

Альтернативная часть таблицы (русская).
Вторая половина кодовой таблицы ASCII, называемая кодовой страницей (128 кодов, начиная с 10000000 и кончая 11111111), может иметь различные варианты, каждый вариант имеет свой номер.
Кодовая страница в первую очередь используется для размещения национальных алфавитов, отличных от латинского. В русских национальных кодировках в этой части таблицы размещаются символы русского алфавита.

Первая половина таблицы кодов ASCII

Обращаю ваше внимание на то, что в таблице кодировки буквы (прописные и строчные) располагаются в алфавитном порядке, а цифры упорядочены по возрастанию значений. Такое соблюдение лексикографического порядка в расположении символов называется принципом последовательного кодирования алфавита.

Для букв русского алфавита также соблюдается принцип последовательного кодирования.

Вторая половина таблицы кодов ASCII

К сожалению, в настоящее время существуют пять различных кодировок кириллицы (КОИ8-Р, Windows. MS-DOS, Macintosh и ISO). Из-за этого часто возникают проблемы с переносом русского текста с одного компьютера на другой, из одной программной системы в другую.

Хронологически одним из первых стандартов кодирования русских букв на компьютерах был КОИ8 («Код обмена информацией, 8-битный»). Эта кодировка применялась еще в 70-ые годы на компьютерах серии ЕС ЭВМ, а с середины 80-х стала использоваться в первых русифицированных версиях операционной системы UNIX.

От начала 90-х годов, времени господства операционной системы MS DOS, остается кодировка CP866 («CP» означает «Code Page», «кодовая страница»).

Читайте также:  Как в биос установить загрузку с диска

Компьютеры фирмы Apple, работающие под управлением операционной системы Mac OS, используют свою собственную кодировку Mac.

Кроме того, Международная организация по стандартизации (International Standards Organization, ISO) утвердила в качестве стандарта для русского языка еще одну кодировку под названием ISO 8859−5.

Наиболее распространенной в настоящее время является кодировка Microsoft Windows, обозначаемая сокращением CP1251.

С конца 90-х годов проблема стандартизации символьного кодирования решается введением нового международного стандарта, который называется Unicode. Это 16-разрядная кодировка, т.е. в ней на каждый символ отводится 2 байта памяти. Конечно, при этом объем занимаемой памяти увеличивается в 2 раза. Но зато такая кодовая таблица допускает включение до 65536 символов. Полная спецификация стандарта Unicode включает в себя все существующие, вымершие и искусственно созданные алфавиты мира, а также множество математических, музыкальных, химических и прочих символов.

Для кодирования символьной или текстовой информации применяются различные системы: при вводе информации с клавиатуры кодирование происходит при нажатии клавиши, на которой изображен требуемый символ, при этом в клавиатуре вырабатывается так называемый scan-код, представляющий собой двоичное число, равное порядковому номеру клавиши.

3.1 Кодировка ASCII

Всего существует множество кодировочных таблиц. Рассмотрим сначала кодировочную таблицу ASCII (ASCII — American Standard Code for Information Interchange — Американский стандартный код для обмена информацией). Эта кодировка является наиболее известной. На практике обычно не бывает проблем с кодированием англоязычных текстов, поскольку первая половина кодировки стандартизована, но, к сожалению, для кодировки русских букв существует несколько кодировочных таблиц, что иногда создает проблемы при работе с текстами.

Для кодировки одного символа из таблицы отводится 8 бит. При обработке текстовой информации один байт может содержать код некоторого символа — буквы, цифры, знака пунктуации, знака действия и т.д. Каждому символу соответствует свой код в виде целого числа. Один байт как набор восьми битов позволяет закодировать 256 символов, что вполне достаточно для работы сразу с двумя обычными языками, например английским и русским. При этом все коды собираются в специальные таблицы, называемые кодировочными. С их помощью производится преобразование кода символа в его видимое представление на экране монитора. В результате любой текст в памяти компьютера представляется как последовательность байтов с кодами символов.

Таблица кодировки текстовой информации ASCII.

Первая половина таблицы ASCII стандартизована. Она содержит управляющие коды (от 0 до 31. Эти коды из таблицы изъяты, так как они не относятся к текстовым элементам. Вторая половина таблицы содержит национальные шрифты, символы псевдографики, из которых могут быть построены таблицы, специальные математические знаки. Нижнюю часть таблицы кодировок можно заменять, используя соответствующие драйверы — управляющие вспомогательные программы. Этот прием позволяет применять несколько шрифтов и их гарнитур. Невозможно использовать символы различных наборов кодировок в одном и том же документе. Так как каждый текстовый документ использует свой собственный набор кодировок, то возникают большие трудности с автоматическим распознаванием текста. Появляются новые символы (например:Евро), вследствие чего ISO разрабатывает новый стандарт ISO-8859−15, который весьма схож со стандартом ISO-8859−1. Разница состоит в следующем: из таблицы кодировки старого стандарта ISO-8859−1 были убраны символы обозначения старых валют, которые не используются в настоящее время, для того, чтобы освободить место под вновь появившиеся символы (такие, как Евро). В результате у пользователей на дисках могут лежать одни и те же документы, но в разных кодировках. Решением этих проблем является принятие единого международного набора кодировок, который называется универсальным кодированием или Unicode.

Данная кодировка решает пользовательские проблемы (см. выше), но создает новые, технические проблемы: как пересылать символы в формате Unicode, используя 8-битные байты? 8-битные единицы являются наименьшими передаваемыми единицами в большинстве компьютеров, а также являющимися минимальными единицами, используемыми при сетевых соединениях на основе протокола TCP/IP. Использование 1-го байта для представления 1-го символа стало эпизодом истории (факт появления такой кодировки обусловлен тем, что компьютеры зародились в Европе и США, где долгое время обходились 96 символами).

Существует 4 основных способа кодировки байтами в формате Unicode:

UTF-8: 128 символов кодируются одним байтом (формат ASCII), 1920 символов кодируются 2-мя байтами ((Roman, Greek, Cyrillic, Coptic, Armenian, Hebrew, Arabic символы), 63488 символов кодируются 3-мя байтами (Китайский, японский и др.) Оставшиеся 2 147 418 112 символы (еще не использованы) могут быть закодированы 4, 5 или 6-ю байтами.

UCS-2: Каждый символ представлен 2-мя байтами. Данная кодировка включает лишь первые 65 535 символов из формата Unicode.

UTF-16:Является расширением UCS-2, включает 1 114 112 символов формата Unicode. Первые 65 535 символов представлены 2-мя байтами, остальные — 4-мя байтами.

USC-4: Каждый символ кодируется 4-мя байтами.

Получается, что 8 бит используются для кодирования европейских языков, а для китайского, японского и корейского языков много больше. Это может повлиять на объем занимаемого дискового пространства и на скорость передачи по сети. Для основных кодировок картина следующая (K(%) — увеличение дискового пространства и снижение скорости передачи по сети):

Читайте также:  Восстановление вин 10 через биос

UTF-8: никаких изменений для американской ASCII, незначительное ухудшение (К = несколько %) для ISO-8859−1, К=50% для китайского, японского, корейского и К=100% для греческого и кириллицы.

UCS-2 и UTF-16: никаких изменений для китайского, японского, корейского; К=100% для американской ASCII, ISO-8859−1, греческого и кириллицы.

UCS-4: К=100% для китайского, японского, корейского; К=300% для американской ASCII, ISO-8859−1, греческого и кириллицы.

В итоге получается, что UTF-8 кодировка занимает меньше дискового пространства и позволяется передавать данные по сети с большей скоростью [10].Unicode 3.0

Стандарт Unicode был разработан с целью создания единой кодировки символов всех современных и многих древних письменных языков. Каждый символ в этом стандарте кодируется 16 битами, что позволяет ему охватить несравненно большее количество символов, чем принятые ранее 7− и 8-битовые кодировки. Еще одним важным отличием Unicode от других систем кодировки является то, что он не только приписывает каждому символу уникальный код, но и определяет различные характеристики этого символа, например:

тип символа (прописная буква, строчная буква, цифра, знак препинания и т.д.);

атрибуты символа (отображение слева направо или справа налево, пробел, разрыв строки и т.д.);

соответствующая прописная или строчная буква (для строчных и прописных букв соответственно);

соответствующее числовое значение (для цифровых символов).

Весь диапазон кодов от 0 до FFFF разбит на несколько стандартных подмножеств, каждое из которых соответствует либо алфавиту какого-то языка, либо группе специальных символов, сходных по своим функциям. На приведенной ниже схеме содержится общий перечень подмножеств Unicode 3.0

.

Формат UTF-8: Стандарт Unicode является основой для хранения и текста во многих современных компьютерных системах. Однако, он не совместим с большинством Интернет-протоколов, поскольку его коды могут содержать любые байтовые значения, а протоколы обычно используют байты 00 — 1F и FE — FF в качестве служебных. Для достижения совместимости были разработаны несколько форматов преобразования Unicode (UTFs, Unicode Transformation Formats), из которых на сегодня наиболее распространенным является UTF-8. Этот формат определяет следующие правила преобразования каждого кода Unicode в набор байтов (от одного до трех), пригодных для транспортировки Интернет-протоколами.Таблица 2. Формат UTF-8.

Диапазон Unicode Двоичный код символа Байты UTF-8 (двоичные)

0000 — 007F 00000000 0zzzzzzz 0zzzzzzzz

0080 — 07FF 00000yyy yyzzzzzz 110yyyyy 10zzzzzz

0800 — FFFF xxxxyyyy yyzzzzzz 1110xxxx 10yyyyyy 10zzzzzz

Здесь x,y,z обозначают биты исходного кода, которые должны извлекаться, начиная с младшего, и заноситься в байты результата справа налево, пока не будут заполнены все указанные позиции.Формат UTF-16: Дальнейшее развитие стандарта Unicode связано с добавлением новых языковых плоскостей, т.е. символов в диапазонах 10000 — 1FFFF, 20000 — 2FFFF и т.д., куда предполагается включать кодировку для письменностей мертвых языков, не попавших в таблицу, приведенную выше. Для кодирования этих дополнительных символов был разработан новый формат UTF-16. Для базовой языковой плоскости, т.е. для символов с кодами от 0000 до FFFF, он совпадает с Unicode. Поэтому, если вы не собираетесь писать Веб-страницы на языке шумеров или майя, можете смело отождествлять два эти формата.

Файл. Форматы файлов

Файл — наименьшая единица хранения информации, содержащая последовательность байтов и имеющая уникальное имя.

Основное назначение файлов — хранить информацию. Они предназначены также для передачи данных от программы к программе и от системы к системе. Другими словами, файл — это хранилище стабильных и мобильных данных. Но, файл — это нечто большее, чем просто хранилище данных. Обычно файл имеет имя, атрибуты, время модификации и время создания.

Файловая структура представляет собой систему хранения файлов на запоминающем устройстве, например, на диске. Файлы организованы в каталоги (иногда называемые директориями или папками). Любой каталог может содержать произвольное число подкаталогов, в каждом из которых могут храниться файлы и другие каталоги.

Способ, которым данные организованы в байты, называется форматом файла.

Для того чтобы прочесть файл, например, электронной таблицы, нужно знать, каким образом байты представляют числа (формулы, текст) в каждой ячейке; чтобы прочесть файл текстового редактора, надо знать, какие байты представляют символы, а какие шрифты или поля, а также другую информацию. Все файлы условно можно разделить на две части — текстовые и двоичные. Текстовые файлы — наиболее распространенный тип данных в компьютерном мире. Для хранения каждого символа чаще всего отводится один байт, а кодирование текстовых файлов выполняется с помощью специальных таблиц, в которых каждому символу соответствует определенное число, не превышающее 255. Файл, для кодировки которого используется только 127 первых чисел, называется ASCII-файлом (сокращение от American Standard Code for Information Intercange — американский стандартный код для обмена информацией), но в таком файле не могут быть представлены буквы, отличные от латиницы (в том числе и русские). Большинство национальных алфавитов можно закодировать с помощью восьмибитной таблицы. Для русского языка наиболее популярны на данный момент три кодировки: Koi8-R, Windows-1251 и, так называемая, альтернативная (alt) кодировка.

Читайте также:  Как вернуть обмен в стиме

Такие языки, как китайский, содержат значительно больше 256 символов, поэтому для кодирования каждого из них используют несколько байтов.Но чисто текстовые файлы встречаются все реже. Документы часто содержат рисунки и диаграммы, используются различные шрифты. В результате появляются форматы, представляющие собой различные комбинации текстовых, графических и других форм данных.

Двоичные файлы, в отличие от текстовых, не так просто просмотреть, и в них, обычно, нет знакомых слов — лишь множество непонятных символов. Эти файлы не предназначены непосредственно для чтения человеком. Примерами двоичных файлов являются исполняемые программы и файлы с графическими изображениями.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Учись учиться, не учась! 10421 — | 7906 — или читать все.

78.85.5.224 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

УРОК «Кодирование текстовой информации»

Представление информации происходит в различных формах в процессе восприятия окружающей среды живыми организмами и человеком, в процессах обмена информацией между человеком и человеком, человеком и компьютером, компьютером и компьютером и так далее.

Кодирование — преобразование информации из одной формы представления (знаковой системы) в другую.

Декодирование — обратный процесс, когда из компьютерного кода знак преобразуется в его графическое изображение.

В процессе обмена информацией часто приходится производить операции кодирования и декодирования информации. При вводе знака алфавита в компьютер путем нажатия соответствующей клавиши на клавиатуре происходит кодирование знака, то есть преобразование его в компьютерный код.

При вводе в компьютер текстовой и числовой информации происходит ее двоичное кодирование, изображение символа преобразуется в его двоичный код.

Пользователь нажимает на клавиатуре клавишу с символом, и в компьютер поступает определенная последовательность из восьми электрических импульсов (двоичный код символа). Код символа хранится в оперативной памяти компьютера, где занимает один байт.

Например, слово «МАМА» кодируется 32-разрядным двоичным числом:

МАМА ® 11101101 11100001 11101101 11100001

Важно, что присвоение символу конкретного кода — это вопрос соглашения, которое фиксируется в кодовой таблице.

Средством кодирования служит таблица соответствия знаковых систем, которая устанавливает взаимно однозначное соответствие между знаками или группами знаков двух различных знаковых систем.

Пользователь не должен заботиться о перекодировках текстовых документов, так как это делают специальные программы-конверторы:

ASCII, КОИ-8

Unicode

1 символ — 1 байт

1 символ — 2 байта

ПРИМЕЧАНИЕ! В настоящее время широкое распространение получил новый международный стандарт Unicode , который отводит на каждый символ не один байт, а два, поэтому с его помощью можно закодировать не N = 2 8 = 256 символов, а N = 2 16 = 65536 различных символов. Эту кодировку поддерживают последние версии платформы Microsoft Windows & Office (начиная с 1997 года).

Кодирование информации в ПК заключается в том, что каждому символу ставится в соответствие уникальный двоичный код. Таким образом, человек различает символы по их начертаниям, а компьютер — по их кодам.

Алфавит — это набор букв, символов препинания, цифр, пробел и т.п.

Полное число символов в алфавите называют мощностью алфавита

Например, мощность алфавита из русских букв = 33 буквы + 10 цифр + 11 знаков препинания, скобки, пробел = 54 символа

ПРИМЕР 1. Сколько места в памяти надо выделить для хранение предложения: Привет, Вася!

а) в КОИ-8 б) в UNICODE

Считаем все символы, включая знаки препинания (здесь 13 символов).

а) В кодировке КОИ-8 1 символ занимает 1 байт, следовательно V = k * i = 13 * 1 байт = 13 байт.

б) В кодировке UNICODE 1 символ занимает 2 байта , следовательно V = k * i = 13 * 2 байта = 26 байт.

Ответ: а) 13 байт б) 26 байт

ПРИМЕР 2 . Определите информационный объем документа в килобайтах, если известно, что в нем 32 страницы. На каждой странице по 64 строки и каждая строка содержит 56 символ, при этом 1 символ кодируется восьмибитовым способом. ( Ответ записать в виде целого числа.)

1) Считаем все символы: k = 64 строки * 56 символов * 32 страницы = 114 688 символов в документе

2) V = k * i = 114 688 * 1 байт

= 114 688 байт / 1024

Ответ: 112 Кбайт

Задача 3* . Сколько дискет объемом 1,4 Мбайт необходимо для хранения полной энциклопедии из 60 томов по 250 страниц, на каждой из которых две полосы по 80 строк из 45 знаков?

Решение: V = k * i

1) k = 80 строк * 45 знаков * 2 полосы * 250 страниц * 60 томов = 1 0 800000 0

2) 1 0 800 0 000 символов * 1 байт = 108000000 байт

3) 108000000 байт / 1024 = 105469 Кб / 1024 = 103 Мб

4) 103 Мб /1.4 Мб = 74 дискеты

а) Оцените информационный объем в КОИ-8 и Unicode сообщения: Без труда не вынешь рыбку из пруда!

б) Текст занимает полных 5 страниц. На каждой странице размещается 40 строк по 70 символов в строке. Какой объем памяти в КБ займет этот текст?

в) Вариант теста в кодировке Unicode имеет объем 20 Кбайт. На каждой странице теста 40 строк по 64 символа в каждой строке. Сколько страниц в тесте?