Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika.doc
Скачиваний:
4
Добавлен:
14.04.2019
Размер:
370.69 Кб
Скачать

13. Представление символьной информации в эвм. Примеры систем кодировок и особенности их построения.

Символьная (алфавитно-цифровая) информация хранится и обрабатывается в ЭВМ в форме цифрового кода, т.е. каждому символу ставится в соответствие отдельное бинарное слово-код. При выборе метода кодирования руководствуются объемом и способами обработки символьной информации.

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

Двоичная система наиболее проста и удобна для обработки на ЭВМ, т. к. компьютер – электрическая машина и работает с электрическими сигналами: есть сигнал – включено, нет сигнала – выключено.

В современной вычислительной технике информация как раз и кодируется с помощью сигналов двух видов: включено или выключено. Все входные сигналы, поступающие в компьютер, преобразуются в нули и единицы, при этом 0 означает отсутствие тока, а 1 – присутствие тока в цепи. Такое кодирование называется двоичным, а цифры 0 и 1 называются битами

На этом простом принципе и основана работа ЭВМ. Любая информация в компьютере может быть представлена в виде последовательности двоичных символов – бит.

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

Соответствие байтов и символов задается с помощью таблицы кодировки, в которой устанавливается взаимосвязь между символами и их порядковыми номерами в компьютерном алфавите. Все символы компьютерного алфавита пронумерованы от 0 до 255. Каждому номеру соответствует восьмиразрядный двоичный код от 00000000 до 11111111. Этот код есть порядковый номер символа в двоичной системе счисления.  Для разных типов ЭВМ используются различные таблицы кодировки. С распространением персональных компьютеров типа IBM PC международным стандартом стала таблица кодировки под названием ASCII (American Standard Code for Information Interchange) – Американский стандартный код для информационного обмена.

Стандартными в этой таблице являются только первые 128 символов, т. е. символы с номерами от 0 (двоичный код 000000000) до 127 (двоичный код 01111111). Сюда входят буквы латинского алфавита, цифры, знаки препинания, скобки и некоторые другие символы. остальные 128 кодов, начиная с 128 (двоичный код 10000000) и кончая 255 (двоичный код 11111111), используются для кодировки букв национальных алфавитов, символов псевдографики и научных символов. В русских национальных кодировках в этой части таблицы размещаются символы русского алфавита. 

Принцип последовательного кодирования алфавита: в кодовой таблице ASCII латинские буквы (прописные и строчные) располагаются в алфавитном порядке. Расположение цифр также упорядочено по возрастанию значений. Данное правило соблюдается и других таблицах кодировки (КОИ-8). Благодаря этому и в машинном представлении для символьной информации сохраняется понятие «алфавитный порядок». Из всего вышесказанного следует, что когда вы нажимаете клавишу с буквой L на клавиатуре ПК, центральный процессор получает команды из восьми сигналов: выключить – включить – выключить – выключить – включить – включить – выключить – выключить. Если учесть чрезвычайно высокое быстродействие компьютера, то станет очевидным, что для отображения на экране буквы практически не требуется никакого времени.

ASCII или UNICODE Для кодирования необходимо описать базовые информационные объекты. Для этого необходимо создать модель интересующей информации. 

В отношении текстовой информации решили отделить ее внешнее представление от содержательного смысла. Это существенно облегчило задачу: осталось выписать все возможные знаки, которые могут быть использованы для написания любого текста, и поставить в соответствие каждому из них число. Таким образом, в качестве элементарного информационного объекта приняли текстовый знак.  В список используемых знаков включили все, что сумели найти на клавиатуре англоязычной пишущей машинки- она оказалась лучшей моделью для законодателей компьютерной моды. Список лишь слегка расширили с учетом специфики компьютера.  Поскольку компьютер работает с числами в двоичной системе, которые традиционно группируют по 8 разрядов, решили в получившейся таблице использовать сразу двоичные 8-разрядные числа. Часто такие таблицы состоят из 3-х колонок, чтобы можно было видеть сразу и двоичный код, и привычный 10-чный.  Текстовых знаков в таблице оказалось 128, а в 8-разрядное двоичное число можно закодировать 256 знаков. Это позволило учесть то, о чем не могли заранее подумать изобретатели кодирования. Различные варианты заполнения свободной части таблицы привели к похожим, но несколько отличающимся стандартам. В настоящее время наиболее известный вариант такой таблицы называется ASCII.  Той же частью таблицы смогли воспользоваться программисты других стран, которым невозможно было обойтись без английского алфавита, но и родной язык было бы странно не использовать. Поскольку такие модернизации таблицы никем жестко не контролировались, появилось несколько вариантов кодирования национальных языков. В частности, для русского языка существует несколько кодировок, которые использовались в различных операционных системах, например:  • 866 (в среде DOS)  • win-1251 (в среде Windows)  • mac-cyrilic (в среде Macintosh)  • koi-8r (в среде UNIX) 

КОДИРОВАНИЕ СИМВОЛОВ. ВИДЫ КОДИРОВОК. ТАБЛИЦЫ ASCII. UNICODE

Помимо цифр, на мониторы ЭВМ необходимо выводить еще и множество символов. Ясно, что для вывода каждого символа необходим некий машинный код, однозначно соответствующий этому символу, или некое правило, по которому можно организовать корректный вывод каждого символа на дисплей. Разумеется, разрабатывать такую систему ввода-вывода следует оптимальным образом с точки зрения потребления ресурсов компьютера. Таблица соответствия получила название ASCII (American Standard Code for Information Interchange). В рамках таблицы ASCII создание многоязычных документов являлось очень проблематичной, а в большинстве случаев и совершенно невыполнимой задачей.  Однако базового набора кодов стало быстро не хватать. Возросший дефицит знакомест в стандартной таблице ASCII потребовал ее немедленного расширения. В результате возникла новая таблица кодировок, получившая название "расширенная таблица ASCII", число знакомест в которой возросло до 28 (256 знакомест). Эта таблица получила название международного стандарта IS 646, а восьмибитный код - Latin-1. В него были добавлены в основном латинские буквы со штрихами и диакритические символы. Вскоре появился новый стандарт IS 8859, в котором вводилось понятие "кодовая страница", т.е. набор из 256 символов для определения языка или группы языков, т.е. IS 8859-1 это Latin-1, IS 8859-2 включал славянские языки с латинским алфавитом (чешский, польский, венгерский), IS 8859-3 включал турецкий, мальтийский, эсперанто, галисийский языки, и т.д. Недостатком такого подхода является то, что программное обеспечение должно следить за кодовыми страницами, смешивать языки при этом невозможно, кроме того, не были созданы кодовые страницы японского и китайского языков. 

UNICODE

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

Стандарт UNICODE 4.0 представляет собой новую систему кодирования символов, выводимых на экран монитора или на принтер, позволяющую закодировать 1 114 112 символов (в стандарте из принято называть code points). Большинство символов, используемых в основных языках мира, занимают 65 536 code points, образуя Basic Multilingual Plane (BMP) (Основной Многоязычный Уровень - мой перевод). Оставшиеся (более миллиона) code points вполне достаточно для кодирования всех известных символов, включая малораспространенные языки и исторические знаки. Стандарт UNICODE поддерживается тремя формами, 32-битной (UTF-32), 16-битной (UTF-16) и 8-битной (UTF-8). Восьмибитная форма UTF-8 была разработана для удобной совместимости с ASCII-ориентироваными системами кодирования. Стандарт UNICODE совместим с Международным стандартом International Standard ISO/IEC 10646.  Наиболее просто устроена форма UTF-32. В ней каждый символ закодирован при помощи 32-битного блока. Благодаря этому каждый символ UTF-32 обладает однозначным соответствием между декодированным символом и блоком кода. Это форма имеет фиксированную длину знакоместа. Она покрывает все кодовое пространство UNICODE - 0...10FFFF16. Это гарантирует полную совместимость с UTF-16 и UTF-8. Форма UTF-32 является наиболее предпочитаемой для большинства UNIX платформ.  Стандарт UNICODE содержит 96 382 символа, взятых их мировых шрифтов. Этих символов более чем достаточно для общения на всех известных языках мира, а также для написания классических (исторических ) шрифтов многих языков. UNICODE включает в себя шрифты европейских алфавитов, среднеазиатское письмо, направленное справа на лево, шрифты Азии, и многие другие. Подмножество символов (code points) HUN включает 70 207 идеографических символов определяемых по национальным и промышленным стандартам Китая, Японии, Кореи, Тайвани, Вьетнама и Сингапура. Более того, UNICODE содержит знаки пунктуации, математические символы, технические символы, геометрические формы и графические метки, фонетические знаки. 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]