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

Можно ли считать выражение лица кодировкой мыслей?

А. Алешин

Помимо цифр, на мониторы ЭВМ необходимо выводить еще и множество символов. Ясно, что для вывода каждого символа необходим некий машинный код, однозначно соответствующий этому символу, или некое правило, по которому можно организовать корректный вывод каждого символа на дисплей. Разумеется, разрабатывать такую систему ввода-вывода следует оптималь-ным образом с точки зрения потребления ресурсов компьютера. Особенно важно в этом случае помнить о том, что производительность компьютеров в отдаленные времена зарождения вычис-лительной техники была ничтожной, с современных позиций, а системные программисты и раз-работчики аппаратной части боролись за каждый бит, адрес, инструкцию, регистр, освобождая оперативную память и адресное пространство компьютерных "малышей".
Давайте подсчитаем, сколько необходимо символов для вывода информации на дисплей. Исторически сложилось так, что первые разработчики компьютеров были носителями английско-го языка. Что им было необходимо обеспечить для вывода на монитор? Во-первых, 26 букв анг-лийского алфавита (строчных), во-вторых, 26 прописных, 9 знаков препинания (. , : ! " ; ? ( ) ), пробел, 10 цифр, 5 знаков арифметических действий (+,-,*, /, ^) и специальные символы (№ % _ # $, и так далее ^, &, >, <, |, \). Получается чуть больше сотни символов. Такой сравнительно не-большой базовый набор символов можно закодировать при помощи таблиц соответствия этого набора машинным кодам (фактически, двоичным числам). Можно вполне ограничиться набором двоичных чисел от 0 до 27 (всего 128 позиций), что и было сделано. Таблица соответствия полу-чила название 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 содержит знаки пунктуации, математиче-ские символы, технические символы, герметрические фотмы и графические метки (dingbats), фо-нетические знаки.

 

 

4 ВОПРОС

Система счисле́ния — символический метод записи чисел, представление чисел с помощью письменных знаков.

Система счисления:

§ даёт представления множества чисел (целых и/или вещественных);

§ даёт каждому числу уникальное представление (или, по крайней мере, стандартное представление);

§ отражает алгебраическую и арифметическую структуру чисел.

Системы счисления подразделяются на позиционные, непозиционные и смешанные.

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