Файл: Стандарты текстовой информации в ИС.pdf

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 08.07.2023

Просмотров: 29

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

  1. Кодировки ASCII, ANSI, КОI8 и др.

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

Для наглядности кодируемые символы располагаются в табли­це. Таблица разбита на 16 строк и 16 столбцов. Каждая строка и ка­ждый столбец имеют четырехразрядные двоичные номера от 0000 до 1111 (или шестнадцатеричные от 0 до F). Код символа составляется из номеров столбца и строки, на пересечении которых он находится. Этим двоичным числам соответствуют десятичные числа от 0 до 255.

До появления операционной системы Windows основной явля­лась кодовая таблица символов ASCII (American Standard Code for Information Interchange - американский стандартный код обмена информацией).

Разработана она была в 1960-х годах в США и применялась для любых видов передачи информации, в том числе и некомпьютерных (телеграф, факсимильная связь и т. д.).

Первая половина таблицы ASCII (коды от 0 до 127) содержит знаки препинания, цифры, символы латинского алфавита, матема­тические знаки и является общепринятой. Коды от 128 до 255 назы­ваются расширенными и используются для национальных алфави­тов и символов псевдографики.

В таблице ASCII отсутствуют символы кириллицы. Для пред­ставления кириллицы в DOS была разработана кодовая страница СР-866, построенная на основе ASCII. Символы с кодами от 0 до 127 в этой таблице такие же, как в кодировке ASCII, а символы кирил­лицы расположены на тех позициях, где в таблице ASCII находятся относительно редко используемые символы национальных алфави­тов и греческие буквы. На рисунке 1 приведен фрагмент этой таблицы. Символам кириллицы здесь соответствуют десятичные коды от 128 до 175 и от 224 до 239.


Рисунок 1. Таблица ASCII

С появлением графической среды Windows ASCII морально ус­тарела, в частности, ненужными стали псевдографические символы. Фирмой Мiсrosоft была разработана новая кодовая таблица ANSI. Для представления кириллицы в Windows на основе кодировки ANSI построена кодовая страница СР-12565. Символам кириллицы здесь соответствуют шестнадцатеричные коды от С0 до FF, или в десятичной системе счисления от 192 до 255.

В середине семидесятых годов специалистами одного из советских НИИ был разра­ботан новый стандарт, предназначенный для представления символов русского языка в электронной форме. Сейчас эта кодировка известна под наименованием КОI8 (код обмена информации восьмибитовый). Став базовой кодировкой для только что появившихся тогда в нашей стране русифицированных UNIХ - совместимых опера­ционных систем, KOI8 была принята Госстандартом СССР в качестве базовой спецификации для обмена электронными документами на русском языке, в силу чего данной кодировке было присвоено соответствие стандарту ГОСТ 19768-74.

После ликвидации Советского Союза этот стандарт претерпел некоторые изменения, разделившись на две отдельные спецификации: KOI8-R применяется в настоящее время для представления символов русского языка, KOI8-U – украинского.

Кодировка КОI8 также используется в качестве принятого в Российском Интернете «формата по умолчанию» при пересылке сообщений электронной почты.

Стандарт MicroSoft/IBM code page 866 (альтернативная кодировка DOS) служит базовой кодировкой в операционных системах MS-DOS и OS/2, и потому в настоя­щее время медленно, но верно утрачивает свои позиции, ибо даже сам разработ­чик и производитель DOS компания Мiсrоsоft отказалась от дальнейшей поддер­жки этой линии операционных платформ. Тем не менее, кодировка жива и по сей день, прежде всего благодаря той части пользователей, которые не намерены пока расставаться с браузерами, работающими в среде MS – DOS.

Компания MicroSoft, создавая программное обеспечение для работы в Интерне­те, как водится, пошла своим путем, предложив стандарт Мiсrоsоft code page 1251 (Windows-1251), получивший чрезвычайно широкое распространение благодаря необыкновенной популярности операционной системы Мiсrоsоft Windows и http - сервера IIS (Internet 1nformation Server), входящего в комплект поставки Windows NT/2000. Именно поэтому и Windows – 1251, и KOI8 - R входят в тот минимально допустимый набор кодировок, которые должна обязательно поддерживать любая мало-мальски уважающая себя веб - страница.


Кодировка ISO – 8859-5 была разработана Международной организацией по стандартизации (International Standards Organization, ISO) с единственной целью: унифицировать представление символов национальных алфавитов в электронной форме. Именно поэтому ISO предложила целый набор кодировок серии 8859, каждая из которых описывала свой набор знаков: существует соответствующая кодировка ISO для арабского языка (ISO-8859-6), иврита (ISO-8859-8), латиницы (ISO-8859-1) и других языков мира. В силу различных причин русский вариант кодировки ISO не получил широкого распространения, однако все же изредка встречается в Интер­нете и потому поддерживается рядом русскоязычных серверов.

Кодировка Macintosh СР (МАС) ориентирована на персональные компьютеры Apple Macintosh, оснащенные операционной системой MacOS. Из-за высокой сто­имости Аррlе - совместимые компьютеры не стали в России популярными, однако они весьма широко используются на Западе и иногда эксплуатируются на круп­ных отечественных предприятиях.

В 1991 году был разработан новый стандарт кодирования символов, получивший название Unicode, который, по замыслу его разработчиков, позволил бы использовать в текстах любые символы любых языков мира. Этот стандарт используется в качестве основной кодировки в операционной системе Microsoft Windows ХР.

  1. Стандарт кодирования символов Unicode.

Unicode (Юникод или Уникод, англ. Unicode) — стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Юникод имеет несколько форм представления: UTF-8, UTF-16 (UTF-16BE, UTF-16LE) и UTF-32 (UTF-32BE, UTF-32LE). Была разработана также форма представления UTF-7 для передачи по семибитным каналам, но из-за несовместимости с ASCII она не получила распространения и не включена в стандарт. В Microsoft Windows NT и основанных на ней системах Windows 2000 и Windows XP в основном используется форма UTF-16LE. В UNIX-подобных операционных системах GNU/Linux, BSD и Mac OS X принята форма UTF-8 для файлов и UTF-32 или UTF-8 для обработки символов в оперативной памяти.

Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода» (англ. «Unicode Consortium»), объединяющей крупнейшие IT-корпорации. Применение этого стандарта позволяет закодировать очень большое число символов из разных письменностей: в документах Unicode могут соседствовать китайские иероглифы, математические символы, буквы греческого алфавита и кириллицы, при этом становятся ненужными кодовые страницы.


Коды в стандарте Unicode разделены на несколько областей. Область с кодами от U+0000 до U+007F содержит символы набора ASCII с соответствующими кодами. Далее расположены области знаков различных письменностей, знаки пунктуации и технические символы. Часть кодов зарезервирована для использования в будущем. Под символы кириллицы выделены коды от U+0400 до U+052F.

Большинство современных операционных систем в той или иной степени обеспечивают поддержку Юникода.

В операционных системах семейства Windows NT для внутреннего представления имён файлов и других системных строк используется двухбайтовая кодировка UTF-16LE. Системные вызовы, принимающие строковые параметры, существуют в однобайтном и двухбайтном вариантах.

UNIX-образные операционные системы, в том числе, Linux, BSD, Mac OS X, используют для представления Юникода кодировку UTF-8. Большинство программ могут работать с UTF-8 как с традиционными однобайтными кодировками, не обращая внимания на то, что символ представляется как несколько последовательных байт. Для работы с отдельными символами строки обычно перекодируются в UCS-4, так что каждому символу соответствует машинное слово.

Одной из первых успешных коммерческих реализаций Юникода стала среда программирования Java. В ней принципиально отказались от восьмибитного представления символов в пользу шестнадцатибитного. Сейчас большинство языков программирования поддерживают строки Unicode, хотя их представление может различаться в зависимости от реализации.

Стандарт Юникод поддерживает языки как с направлением написания слева - направо (англ. Left – to - right, LTR) так и с написанием справа - налево (англ. Right – to - eft, RTL), как иврит и арабский язык. Кроме того, Юникод поддерживает комбинированные тексты, содержащие одновременно RTL и LTR фразы. Данная возможность называется двунаправленность (англ. bidirectional, Bidir). Простые реализации Юникода могут не иметь поддержки двунаправленности.

Универсальная система кодирования (Юникод) представляет собой набор графических символов и способ их кодирования для компьютерной обработки текстовых данных.

Графические символы — это символы, имеющие видимое изображение. Графическим символам противопоставляются управляющие символы и символы форматирования.

Графические символы включают в себя следующие группы:

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

Юникод — это система для линейного представления текста. Символы, имеющие дополнительные надстрочные или подстрочные элементы, представляются в виде последовательности кодов, составленной по определённым правилам (декомпозированный вариант) или единого символа (композированный вариант). На рисунке 2 предоставлен символа «Й» (U+0419) в виде базового символа «И» (U+0418) и комбинируемого символа « ̆ » (U+0306).

Рисунок 2. Комбинация символа Й

Графические символы в Юникод подразделяются на протяжённые и непротяжённые (бесширинные). Непротяженные символы при отображении не занимают места в строке. К ним относятся ударения, диакритические знаки и т. п. При кодировании в Юникоде, как протяжённые, так и непротяжённые символы имеют собственные коды. Протяжённые символы иначе называются базовыми, а непротяжённые — комбинируемыми, потому что они не могут встречаться самостоятельно. Например, символ «á» будет представлен как последовательность базового символа «a» (U+0061) и комбинируемого символа «´» (U+0301) или как отдельный символ «á» (U+00C1).

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

В Юникоде зарезервировано 1 114 112 (= 220 + 216) позиций символов, из которых сейчас используется около 90000. Первые 256 знакомест совпадают с кодовой таблицей ISO 8859-1 (Latin-1).
Хоть формы записи UTF-8 и UTF-32 позволяют кодировать до 231 (2 147 483 648) кодовых позиций, принято решение использовать лишь 220+216 (1 114 112) для совместимости с UTF-16. Впрочем, даже и этого более чем достаточно — на сегодняшний день используется чуть больше 96 000 кодовых позиций.

Кодовое пространство разделено на 17 «плоскостей» по 65536 (= 216) символов. Нулевая плоскость называется базовой, в ней расположены символы наиболее употребительных письменностей. Первая плоскость используется, в основном, для исторических письменностей. Плоскости 16 и 17 выделены для частного употребления.