68848

Системы кодирования и представления информации в компьютерах

Лекция

Информатика, кибернетика и программирование

Значение двоичного числа определяется относительной позицией каждого бита и наличием единичных битов. Для двоичного числа 01000001 единичные биты представляют значения 1 и 64 т. Так как процессор 8088 использует 16 битовую архитектуру oн автоматически оперирует с 16 битовыми числами.

Русский

2014-09-26

599.5 KB

4 чел.

Тема 7. Системи кодування та представлення  інформації в комп’ютерах.

7.1. Ячейки, адреси, машинні слова, розряди, біти, байти. Двоїчне представлення інформації в комп’ютерах. Представлення цілих чисел в форматі з фіксованою точкою (представлення беззнакових чисел, представлення знакових чисел в прямому та допоміжному кодах).

7.2. Особливості складання та віднімання цілих чисел (на прикладі персонального комп’ютера - ПК). Представлення чисел в форматі з  плаваючою  точкою (на прикладі ПК).

7.3. Кодування  ASCII (American Standart Code for Information Interchange) та стандарт Unicode. Кодування  українського тексту  (Windows-1251,  KOI8 та ін..

7.4. Принципи кодування нечислових видів інформації: текстів, чорно-білої та  кольорової графіки, звукової інформації.

7.1. Біти, байти, ячейки, адреси, машинні слова, розряди.

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

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

Восемь битов дают 256 различных комбинаций включенных и выключенных состояний: от "все выключены" (00000000) до "все включены" (11111111). Например, сочетание включенных и выключенных битов для представления буквы A выглядит как 01000001, а для cимвола * - 00101010 (это можно не запоминать). Каждый байт в памяти компьютера имеет уникальный адрес, начиная с нуля.

Требование контроля на честность заключается в том, что количество включенных битов в байте всегда должно быть не четно. Контрольный бит для буквы A будет иметь значение единица, а для символа * - ноль. Когда команда обращается к байту в памяти, компьютер проверяет этот байт. Если число
включенных битов является четным, система выдает сообщение об ошибке. Ошибка четности может явится результатом сбоя оборудования или случайным явлением, в любом случае, это бывает крайне редко.

Может появится вопрос, откуда компьютер "знает", что значения бит 01000001 представляют букву A. Когда на клавиатуре нажата клавиша A, система принимает сигнал от этой конкретной клавиши в байт памяти. Этот сигнал устанавливаетбиты в значения 01000001. Можно переслать этот байт в памяти
и, если передать его на экран или принтер, то будет сгенерирована буква A.
По согла
шению биты в байте пронумерованы от 0 до 7 справа налево, как это показано для буквы A:

Номера бит: 7 6 5 4 3 2 1 0

Значения бит: 0 1 0 0 0 0 0 1

Число 2 в десятой степени равно 1024, что составляет один килобайт и обозначается буквой К. Например, компьютер с памятью в 512К содержит 512 х 1024, т.е. 524288 байт.

Процессор в PC и в совместимых моделях использует 16- битовую архитектуру, поэтому он имеет доступ к 16-битовым значениям как в памяти, так и в регистрах. 16-битовое (двухбайтовое) поле называется словом. Биты в слове
пронумерованы от 0 до 15 справа налево, как это показано для букв PC:

Номера бит: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Значения бит: 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 

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

Слово - это два соседних байта,  размер слова - 16 битов (они нумеруются справа налево от 0 до 15).

Адресом слова считается адрес его первого байта (с меньшим адресом); Адресом слова может быть четным и нечетным.  

Двойное слово  - это любые четыре соседних байта  (два соседних слова), размер такой ячейки - 32 бита. Адресом двойного слова считается адрес его первого байта.

   Машинное словоэто набор из 2-х 4-х или 8-ми последовательных байтов, обрабатываемый аппаратной частью вычислительной системы как единое целое.

7.2. ДВОИЧНЫЕ ЧИСЛА. Так как компьютер может различить только нулевое и единичное состояние бита, то он работает системе исчисления с
базой 2 или в двоичной системе. Фактически бит унаследовалcвое название от английского "BInary digiT" (двоичная цифра). Сочетанием двоичных цифр (битов) можно представить любое значение. Значение двоичного числа определяется относитель ной позицией каждого бита и наличием единичных битов. Ниже
показано восьмибитовое число содержащее все единичные биты:

Позиционные веса: 128 64 32 16 8 4 2 1

Включенные биты: 1 1 1 1 1 1 1 1

Самый правый бит имеет весовое значение 1, следующая цифра влево - 2, следующая - 4 и т.д. Общая сумма для восьми единичных битов в данном случае составит 1 + 2 + 4 + ... + 128, или 255 (2 в восьмой степени - 1). Для двоичного числа 01000001 единичные биты представляют значения 1 и 64, т.е. 65. Но 01000001 представляет также букву A! Действительно, здесь момент, который необходимо четко уяснить. Биты 01000001 могут представлять как число
65, так и букву A:

- если программа определяет элемент данных для арифмети ческих целей, то 01000001 представляет двоичное число эквивалентное десятичному числу 65;

- если программа определяет элемент данных (один или более смежных байт), имея в виду описательный характер, как, например, заголовок, тогда 01000001 представляет собой букву или "строку".

В програмировании это различие становится понятным, так как назначение каждого элемента данных определено. Двоичное число неограничено только восьмью битами. Так как процессор 8088 использует 16-битовую архитектуру, oн автоматически оперирует с 16-битовыми числами. 2 в степени 16 минус 1 дает значение 65535, а немного творческого программирования позволит обрабатывать числа до 32 бит (2 в степени 32 минус 1 равно 4294967295) и даже больше.

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

0 + 0 = 0

1 + 0 = 1

1 + 1 = 10

1 + 1 + 1 = 11

Обратное внимание на перенос единичного бита в последних двух операциях. Теперь, давайте сложим 01000001 и 00101010. Букву A и символ *? Нет, число 65 и число 42:

Двоичные Десятичные

01000001         65

00101010        42

01101011     107

Проверьте, что двоичная сумма 01101011 действительно равна 107. Рассмотрим другой пример:

Двоичные Десятичные

00111100    60

00110101    53

01110001   113

7.2.2. Отрицательные числа. Все представленные выше двоичные числа имеют положитель ные значения, что обозначается нулевым значением самого левого (старшего) разряда. Отрицательные двоичные числа содержат единичный бит в старшем разряде и выражаются двоичным дополнением. Т.е., для представления отрицательного двоичного числа необходимо инвертировать все биты и прибавить 1. Рассмотрим пример:

Число 65: 01000001

Инверсия: 10111110

Плюс 1: 10111111 (равно -65)

Если прибавить единичные значения к числу 10111111, 65 не получится. Фактически двоичное число считается отрицательным, если его старший бит равен 1. Для определения абсолютного значения отрицательного двоичного числа, необходимоповторить предыдущие операции: инвертировать все биты и
прибавить 1:

Двоичное значение: 10111111

Инверсия: 01000000

Плюс 1: 01000001 (равно +65)

Сумма +65 и -65 должна составить ноль:

01000001 (+65)

10111111 (-65)

(1)00000000

Все восемь бит имеют нулевое значение. Перенос единичного бита влево потерян. Однако, если был перенос в знаковый pазряд и из разрядной сетки, то результат является корректным.

Двоичное вычитание выполняется просто: инвентируется знак вычитаемого и складываются два числа. Вычтем, например, 42 из 65. Двоичное представление для 42 есть 00101010, и eго двоичное дополнение: - 11010110:

65 01000001

+(-42) 11010110

23 (i)00010111

Результат 23 является корректным. В рассмотренном примере произошел перенос в знаковый разряд и из разрядной сетки. Если справедливость двоичного дополнения не сразу понятна, рассмотрим следующие задачи: Какое значение необходимо прибавить к двоичному числу 00000001, чтобы получить число 00000000? В терминах десятичного исчисления ответом будет -1. Для двоичного рассмотрим 11111111:

00000001

11111111

Результат:

       (1)00000000

Игнорируя перенос (1), можно видеть, что двоичное число 11111111 эквивалентно десятичному -1 и соответственно:

0 00000000

-(+1) -00000001

-1 11111111

Можно видеть также каким образом двоичными числами предcтавлены уменьшающиеся числа:

+3 00000011

+2 00000010

+i 00000001

0 00000000

-1 11111111

-2 11111110

-3 11111101

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

7.2.3.Шестнадцатиричное представление. Представим, что необходимо просмотреть содержимое некото pых байт в памяти. Требуется  oпреде-лить содержимое четырех последовательных байт (двух слов), которые имеют двоичные значения. Так как четыре байта включают в себя 32 бита, то специалисты разработали "стенографический" метод представления двоичных данных. По этому методу каждый байт делится пополам и каждые полбайта выражаются соответствующим значением. рассмотрим следующие четыре байта:

Двоичное: 0101 1001 0011 0101 1011 1001 1100 1110

Десятичное: 5    9       3       5     11    9      12    14

Так как здесь для некоторых чисел требуется две цифры, расширим систему счисления так, чтобы 10=A, 11=B, 12=C, 13=D, 14=E, 15=F. таким образом получим более сокращенную форму, которая представляет содержимое вышеуказанных байт:

59 35 B9 CE

Такая система счисления включает "цифры" от 0 до F, и так как таких цифр 16, она называется шестнадцатиричным представлениeм. В таб. № 7.1 приведены двоичные, десятичные и шестнадцатиричные значения чисел от 0 до 15. Шестнадцатиричный формат нашел большое применение в языке ассемблера. В листингах ассемблирования программ в шестнадцатеричном формате показаны все адреса, машинные коды команд и содержимое констант. Также для отладки при использовании программы DOS DEBUG адреса и содержимое байтоа выдается в шестнадцатиричном формате.

Если немного поработать с шестнадцатиричным форматом, то можно быстро привыкнуть к нему. рассмотрим несколько проcтых примеров шестнадцатиричной арифметики. Следует помнить, что после шестнадцатиричного числа F следует шестнадцатиричное 10, что равно десятичному числу 16.

6 5 F F 10 FF

4 8 1 F 10 1

A D 10 1E 20 100

Заметьте: 

                шест.20 эквивалентно десятичному 32,

                шест.100 - десятичному 256 и шест.100 - десятичному 4096.

Для индикации шест. числа в ассемблерной программе непосредственно после числа ставится символ "H", например, 25H (десятичное значение 37). Шест. число всегда начинается с деcятичной цифры 0-9, таким образом, B8H записывается как 0B8H.

7.3.Представлення чисел в форматі з фіксованою точкою (представлення беззнакових чисел, представлення знакових чисел в прямому та допоміжному кодах).

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

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

Любые дробь и число в двоичной системе счисления соответственно имебт вид:

Дробь

Целое

Анализ этих формул показывает:

1) минимальное положительное число Аmin = 0,00...1 для дробных и 1 для целых чисел; числа по абсолютной величине меньше Аmin (единицы младшего разряда n-разрядной машинной сетки) называется машинным нулем; 

2) максимальное положительное число Аmax = 0,11...1(1-2-n) для дробных чисел (во всех разрядах должны быть записаны единицы) и 11...1(2n-1) для целых чисел;

3) количество разных чисел, которые можно записать в n-разрядную сетку, равно 2n; количество разрядов n, необходимых для записи произвольного десятичного числа M равно

n=log2M, если log2M - целое число;
в противном случае
n равно ближайшему целому, большему log2M.

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

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

В ПК  делается различие между целыми числами без знака  (неотрица-

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

7.3.1. Целые числа без знака. Эти числа могут быть представлены в виде байта,  двух или четырёх байтов (слова или двойного слова) - в зависимости от их размера. Один, как правило, старший бит отводится под знак числа. Знак положительного числа "+" кодируется нулем, а знак отрицательного числа "-" - единицей.

В виде байта представляются целые от 0 до 255 (=28-1),  в виде слова - целые от 0 до 65535 (=216-1), в виде двойного слова - целые от 0 до 4 294 967 295 (=232-1). Числа записываются в двоичной системе счисления,  занимая  все разряды ячейки. Например, число 130 записывается в виде байта 10000010b (82h). Числа  размером в слово  хранятся в памяти  в "перевернутом" виде:

младщие (правые) 8 битов числа  размещаются  в первом байте  слова,  а старшие 8 битов  -  во втором байте  (в 16-ричной системе:  две правые цифры  - в первом байте, две левые цифры - во втором байте).

Например, число 130 (=0082h) в виде слова хранится в памяти так:

-----------

| 82 | 00 |

-----------

(Отметим, однако, что в регистрах числа хранятся в нормальном виде:

-----------

AX  | 00 | 82 |

-----------

AH   AL     )

   "Перевернутое" представление  используется и при хранении в памяти

целых чисел размером в двойное слово:  в первом его байте  размещаются младшие 8 битов числа, во втором байте - предыдущие 8 битов и т.д. Например, число 12345678h хранится в памяти так:

---------------------

| 78 | 56 | 34 | 12 |

---------------------

Другими словами,  в первом слове  двойного слова  размещаются  младшие (правые) 16 битов числа, а во втором слове - старшие 16 битов,  причем

в каждом из этих двух слов  в свою очередь используется "перевернутое"

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

действий над младшими цифрами, поэтому из памяти в первую очередь надо

считывать младшие цифры, если сразу нельзя считать все цифры. Учитывая

это,  в первых ПК и стали размещать младшие цифры числа перед старшими

цифрамми, а ради преемственности такое представление чисел сохранили в

последующих моделях ПК.

Конечно,  "перевернутое" представление неудобно для людей,  однако

при использовании  языка ассемблера  это неудобство не чувствуется:  в

MASM все числа записываются в нормальном, неперевернутом виде (см. ни-

же).

7.3.2.Целые числа со знаком. Эти числа также представляются в виде байта, слова и двойного слова.  В виде байта  записываются числа от -128 до 127,  в виде слова со знаком "-" от -215 до 215-1, то есть от -32768 до 32767,  а  в виде  двойного слова  -  числа  от -2147483648 до 2147483647.  

При этом числа записываются в дополнительном коде: неотрицательное число записывается так же, как и беззнаковое число (т.е. в прямом коде), а отрицательное число -x (x>0) представляется беззнаковым числом 28-x (для  байтов),  216-x  (для  слов)  или 232-x (для двойных слов). Например, дополнительным кодом числа -6 является байт FAh (=256-6), слово FFFAh или двойное слово FFFFFFFAh. При этом  байт  10000000b (=80h) трактуется как -128, а не как +128 (слово 8000h понимается как -32678),  поэтому левый бит  дополнительного кода всегда  играет роль  знакового:  для неотрицательных чисел он равен 0, для отрицательных - 1.    Знаковые числа размером в слово и двойное слово записываются в памяти в "перевернутом" виде (при этом  знаковый бит  оказывается в последнем байте ячейки).  Но в MASM эти числа, как и беззнаковые, записываются в нормальной форме.

Иногда число-байт необходимо расширить до слова,  т.е. нужно полу-

чить такое же по величине число,  но размером в слово.  Существует два

способа такого расширения - без знака и со знаком.  В любом случае исходное число-байт попадает во второй (до "переворачивания")  байт слова, а вот первый байт заполняется по-разному: при расширении без знака в него записываются нулевые биты  (12h -> 0012h),  а при расширении со знаком в первый байт записываются нули, если число-байт было неотрицательным, и записывается восемь двоичных единиц в противном случае (81h ->  FF81h).  Другими словами,  при расширении со знаком в первом байте слова копируется знаковый разряд числа-байта. Аналогично происходит расширение числа-слова до двойного слова.

Для числа с фиксированной точкой  Во всех разрядах всегда должно быть что-то записано, даже если это "незначащий" ноль. Число распологается так, что его самый младший двоичный разряд записывается в крайний првый бит разрядной сетки.

Например, десятичное число 19 (100112) в 16-разрядной сетке записывается так:

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

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

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

   Сложение и вычитание беззнаковаых чисел производится по модулю 2^8 для байтов и 2^16 для слов. Это означает, что если в результате сложения появилась единица переноса,  не вмещающаяся в разрядную сетку,  то она отбрасывается.  Например, при сложении байтов 128 и 130 получается число 258 = 100000010b, поэтому левая двоичная единица отбрасывается и остается число 2 = 10b,  которое  и  объявляется результатом сложения.

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

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

"заем единицы"  (в случае байтов  это число увеличивается на 256,  для слов - на 2^16), после чего и производится вычитание.  Например, вычитание байтов 2 и 3 сводится к вычитанию чисел 256+2=258 и 3, в результате чего  получается  неправильная  разность 255 (а не -1).  Для того чтобы можно было обнаружить такую ситуацию,  в флаг переноса CF  заносится 1 (если заема не было, в CF записывается 0).

   Сложение и вычитание  знаковых целых чисел  производится по тем же алгоритмам, что и для беззнаковых чисел (в этом одно из достоинств дополнительного кода):  знаковые числа рассматриваются как соответствующие беззнаковые числа, произодится операция над этими беззнаковыми числами и полученный результат интерпретируется как знаковое число. Например,  сложение байтовых чисел 1 и -2 происходит так:  берутся их дополнительные коды  1 и  (256-2)=254,  вычисляется  сумма  этих величин 1+254=255 и она трактуется как знаковое число -1 (255=256-1). Если при таком сложении возникла единица переноса, то она, как обычно, отбрасывается, а флаг CF получает значение 1.  Однако в данном случае это отсечение не представляет интерес - результат операции будет правильным, например: 3+(-2) => 3+254(mod 256) = 257(mod 256) = 1. Зато здесь возможна иная неприятность:  модуль суммы  (ее мантисса)  может превзойти допустимую границу и "залезть" в знаковый разряд, испортив его. Например,  при сложении байтовых чисел  127 и 2  получается величина  129 = 100001001b, представляющая дополнительный код числа -127 (=256-129).

Хотя результат здесь получился и неправильным,  процессор не фиксирует ошибку, но зато заносит 1 в флаг переполнения OF  (если  "переполнения

мантиссы" не было,  в OF записывается 0).  Анализируя затем этот флаг, можно "поймать" такую ошибку.

Таким образом,  сложение (вычитание) знаковых и беззнаковых чисел

производится  по одному и тому же алгоритму.  При этом  ПК не "знает", какие числа (со знаком или без) он складывает; в любом случае он складывает их как беззнаковые числа  и в любом случае формирует флаги CF и OF.  А  вот  как интерпретировать слагаемые и сумму,  на какой из этих флагов обращать внимание - это личное дело автора программы.

   Что касается умножения и деления знаковых и беззнаковых чисел,  то

они выполняются по разным алгоритмам, разными машинными командами. Од-

нако  и  у этих операций есть ряд особенностей.  При умножении  байтов (слов)  первый сомножитель  обязан находиться в регистре AL (AX),  результатом же умножения  является слово (двойное слово),  которое заносится в регистр AX (регистры DX и AX).  Тем самым при умножении сохраняются все цифры произведения.  При делении байтов (слов)  первый операнд (делимое) должен быть словом (двойным словом) и обязан находиться в регистре AX  (регистрах DX и AX).  Результатом деления  являются две величины размером в байт (слово) - неполное частное (div) и остаток от деления (mod);  неполное частное записывается в регистр AL (AX), а остаток - в регистр AH (DX).

7.4. Кодування  ASCII (American Standart Code for Information Interchange) та стандарт Unicode. Кодування  українського тексту  (Windows-1251,  KOI8 та ін.).

7.4.1.ASCII КОД . Для целей стандартизации в микрокомпьютерах используется aмериканский национальный стандартный код для обмена информа
цией ASCII (American National Standard Code for Information Interchange). Читается как "аски" код (прим. переводчика). Именно по этой причине комбинация бит 01000001 обозначает букву A. Наличие стандартного кода облегчает обмен данными между различными устройствами компьютера. 8-битовый рассширенный ASCII-код, используемый в PC обеспечивает представление 256 символов, включая символы для национальных алфавитов.

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

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

Подробное описание стандарта Unicode можно найти по адресу http://www.unicode.org/

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

  •  IPA = International Phonetical Alphabet = Международная фонетическая транскрипция;
  •  CJK = China, Japan & Korea = Китай, Япония и Корея.

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

Здесь x,y,z обозначают биты исходного кода, которые должны извлекаться, начиная с младшего, и заноситься в байты результата справа налево, пока не будут заполнены все указанные позиции. Подробное описание формата UTF-8 содержится в RFC 2279

Таб. № 7.2

Стандартные подмножества UTF-8

Диапазон Unicode

Двоичный код символа

Байты UTF-8 (двоичные)

0000 - 007F

00000000 0zzzzzzz

0zzzzzzzz

0080 - 07FF

00000yyy yyzzzzzz

110yyyyy 10zzzzzz

0800 – FFFF

Xxxxyyyy yyzzzzzz

1110xxxx 10yyyyyy 0zzzzzz

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

7.4.2.4.UNICODE 3.1. К Unicode    3.1  добавлены  дополнительные  уровни  ISO  10646-2.   Стандарт Unicode и технические  сообщения,  публикуемые  Unicode  Consortium,обеспечивают много дополнительной информации и семантике и рекомендациях по  использованию  разных  символов.   Также поясняются    руководящие   принципы   и   алгоритмы   для редактирования,   сортировки,   сравнения,   нормализации, преобразований и выводе строк Unicode.

Международный  стандарт ISO 10646 дает определение Universal Character Set (UCS) (Универсальный  Набор  Символов-Уникод).   UCS  содержит  все  символы других стандартов и кодировок.   Его    использование    гарантирует    полную взаимозаменяемость,  то  есть  таблицы для конвертирования могут быть построены  таким  образом,  что  не  произойдет потери  информации  при  конвертировании  строки  из одной кодировки  в  UCS  и  обратно.   UCS   содержит   символы, необходимые  для  представления практически всех известных  сейчас языков. В него включены не только такие языки,  как латинский,    греческий,   кириллица,   иврит,   арабский, армянский, грузинский, но также и  японские,  китайские  и корейские   идеограммы,   а   также   такие   языки,   как  бенгальский, тамильский,  тайский,  малайский,  тибетский, хмерский,   рунический,   эфиопский,   лаосский,   чероки, монгольский,  Gurmukhi,  Gujarati,   Hiragana,   Katakana, Hangul,  Devanagari,  Oriya,  Telugu,  Kannada,  Bopomofo, Canadian Syllabics, Ogham, Myanmar, Sinhala, Thaana, Yi  и многие  другие.  Для неперечисленных выше языков постоянно ведутся работы для поиска их самой  оптимальной  кодировки  для  копьютеров.  Это не только такие языки, как различные иероглифические  языки   и   языки   из   индо-европейской исторической  группы,  но  и некоторые искуственные языки,такие как Tengwar, Cirth, и Klingon.  Также  UCS  содержит  большое  множество     графических,    типографических, математических и научных символов,  используемых  в  таком программном обеспечении,  как TeX, PostScript, APL, MS-DOS, MS-Windows, Macintosh,  шрифты   OCR   и   многих   других   текстов процессорах  и  издательских  системах,  и  таких символов постоянно  добавляется  еще  больше.   Стандарт  UCS  (ISO 10646)  описывает архитектуру 31-битных наборов символов , состоящую  из  128  24-битных  групп,  каждая  из  которых разделена  на  256  16-битных плоскостей каждая из которых состоит из 256 8-битных строк и 256  колонок,  каждая  для   одного   символа.    Часть   1   стандарта  (ISO  10646-1) определяет  первые  65534  позиций  кодов  (с  0x0000   по 0xfffd),  каждая  из  которых  образует Basic Multilingual Plane (BMP) (Основную  Многоязычную  Матрицу),  являющуюся плоскостью  0  в группе 0. Часть 2 стандарта (ISO 10646-2) добавляет  символы  в  группу  0  извне  BMP  в  некоторые  дополнительные   плоскости   в   диапазон  от  0x10000  до 0x10ffff. Пока нет планов по добавлению символов за предел 0x10ffff в существующий стандарт, хотя в обозримом будущем во  всем  пространстве  кода  в   действительности   будет использоваться  только малая часть группы 0.  BMP содержит  все  символы,  используемые  в  других  наборах  символов. Дополнительные плоскости, добаляемые ISO 10646-2 покрывают некоторые особенные, специальные  и  экзотические  символы используемые   в   науке,  печати  словарей,  издательской индустрии  протоколах   высокого   уровня   и   некоторыми энузиастами. Представление  каждого  символа в UCS как 2-байтного слова основывается на форме UCS-2  (только  для  символов  BMP),

поскольку  UCS-4  является  представлением каждого символа 4-байтным словом.   Также  существуют  2  формы  кодировки UTF-8   для   совместимости   со   старыми  программами  с обработкой ASCII-кодировок и UTF-16  для  совместимости  с обработкой  не-BMP символов до 0x10ffff программами UCS-2.

Символы UCS от 0x0000 до  0x007f  идентичны  обычному  US ASCII  набору символов, а символы в диапазоне от 0x0000 до 0x00ff идентичны символам в ISO 8859-1 Latin-1. 

КОМБИНИРОВАННЫЕ СИМВОЛЫ. Некоторые    позиции    в    UCS    зарезервированы    для комбинированных   символов.    Они   аналогичны   символам печатной  машинки,  обозначающим  букву  с  ударением  без пробела.   Комбинированные символы лишь добавляют ударение к  предыдущему  символу.  Наиболее  употребимые   символы, требующие  ударения,  имеют  свой собственный код в UCS, и таким образом комбинированные символы  позволяют  добавить ударение   или   другой  диакритический  знак  к  символу.

      Комбинированные  символы  всегда  следуют  за  буквой,   к которой   они   относятся.   Например,   немецкий   символ "умляут-А" (латинская заглавная буква А с диэрезой)  может быть  представлен как зарезервированный специальный символ UCS  с  кодом  0x00c4,  или  как  комбинация  обыкновенной латинской   заглавной   буквы  А  и  последующим  символом комбинированной диэрезы: 0x0041 0x0308.

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

УРОВНИ РЕАЛИЗАЦИИ. Так  как  не  все системы могут поддерживать такой сложный  механизм,  как  реализацию  комбинированных  символов,  то стандарт  ISO 10646-1 предусматривает следующие три уровня реализации UCS:

Уровень 1.Комбинированные символы  и  символы  Hangul  Jamo (особая,  сложная кодировка корейского, где слоги  кодируются по два или по  три  гласных  кода)  не поддерживаются.

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

Уровень 3. Все символы UCS поддерживаются. тандарт Unicode 3.0 , опубликованный Unicode Consortium, содержит полный уровнень реализации UCS Basic Multilingual Plane   -   уровень   3,   как  описано  в  стандарте  ISO 10646-1:2000.    К    Unicode    3.1    также    добавлены дополнительные  уровни  ISO  10646-2.   Стандарт Unicode и технические  сообщения,  публикуемые  Unicode  Consortium, обеспечивают много дополнительной информации и семантике и рекомендациях по  использованию  разных  символов.   Также поясняются    руководящие   принципы   и   алгоритмы   для        редактирования,   сортировки,   сравнения,   нормализации, преобразований и выводе строк Unicode.

7.4.3.Кодування  українського тексту  (Windows-1251,  KOI8). Кодування  українського тексту осуществляется на основе  ‘Р е с п у б л и к а н с к ого  c т а н д а р т у к р а и н ы’  УДК 681.3. Группа П85.

Кодировка windows-1251 применяется в основном в среде MS Windows.

Краткое имя кодировки:

win

Официальное имя кодировки:

windows-1251

Синонимы, принятые в FLUIdS:

cp1251, cp-1251, windows

Стандарты:

Microsoft code page 1251

Кодировка KOI8- набор символов в восмеричном, десятичном и шестнадцатеричном виде.  Таблица кодировки украинских букв|литер| KOI8-U является стандартом de-facto в Украинской сети и является распространением стандарта KOI8, употребимого|употребляемого| для русского языка, и совпадает с ним относительно|касательно| всех российских|русских| букв|литер|, а также дополняет ее четырьмя буквами|литерами|, специфическими для украинского языка|речи|, расположение которых|каких| отвечает ISO-IR-111.

7.5. Принципи кодування нечислових видів інформації: текстів, чорно-білої та  кольорової графіки, звукової інформації.

7.5.1.ЭВМ первых двух поколений могли обрабатывать только числовую информацию, полностью оправдывая свое название вычислительных машин. Лишь переход к третьему поколению принес изменения: к этому времени уже назрела настоятельная необходимость использования текстов. Следуя ходу исторического развития, мы тоже начнем наше рассмотрение с этого вида информации.

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

Каждый символ хранится в виде двоичного кода, который является номером символа. Можно сказать, что компьютер имеет собственный алфавит, где весь набор символов строго упорядочен. Количество символов в алфавите также тесно связано с двоичным представлением и у всех ЭВМ равняется 256. Иными словами, каждый символ всегда кодируется 8 битами, т.е. занимает ровно один байт. При этом, хранится не начертание буквы, а ее номер. Именно по этому номеру воспроизводится вид символа на экране дисплея или на бумаге. Поскольку алфавиты в различных типах ЭВМ не полностью совпадают, при переносе с одной модели на другую может произойти превращение разумного текста в "абракадабру". Такой эффект иногда получается даже на одной машине в различных программных средах: например, русский текст, набранный в MS DOS, нельзя без специального преобразования прочитать в Windows. Задача перекодировки текста из одной кодовой таблицы в другую довольно проста и при наличии программ машина сама великолепно с ней справляется.

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

Ниже в качестве примера приводится таблица стандартной части алфавита ЭВМ - символы с шестнадцатиричными кодами с 20 до 7F.

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

2

 

!

"

#

$

%

&

'

(

)

*

+

,

-

.

/

3

0

1

2

3

4

5

6

7

8

9

:

;

<

=

>

?

4

@

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

5

P

Q

R

S

T

U

V

W

X

Y

Z

[

\

]

^

_

6

`

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

7

p

q

r

s

t

u

v

w

x

y

z

{

|

}

~

 

Таблица стандартных ASCII символов.
Пример: код 52 соответствует "R".

Согласно стандарта ASCII, каждый символ текста имеет свой числовой код, но не каждому коду соответствует отображаемый на экране символ. Речь идет о существовании так называемых управляющих кодов, величина которых меньше шестнадцатиричного числа 20 (т.е. 32 в десятичной системе счисления). При получении этих кодов внешние устройства не изображают какого-либо символа, а выполняют те или иные управляющие действия. Так, код 07 вызывает подачу стандартного звукового сигнала, а код 0C - очистку экрана. Особую роль играют коды 0A (перевод строки, обозначаемый часто LF) и 0D (возврат каретки - CR). Первый вызывает перемещение в следующую строку без изменения позиции, а второй - на начало текущей строки. Таким образом, для перехода на начало новой строки требуются оба кода и в любом тексте эта "неразлучная пара" кодов хранится после каждой строки. Обратим внимание на то, что названия возврат каретки и перевод строки имеют историческое происхождение и связаны с устройством пишущей машинки.

Основные принципы хранения в памяти ЭВМ графической информации. В отличии от только что рассмотренного текстового режима дисплея, когда минимальной единицей изображения является символ, при отображении графики картинка строится из отдельных элементов – пикселов (от английских слов PICture ELement, означающих "элемент картинки"). Очень часто пиксел совпадает с точкой дисплея, но это совсем необязательно: например, в некоторых видеорежимах 1 пиксел может состоять из 2 или 4 точек экрана.

Каждый пиксел характеризуется цветом. Как и вся остальная информация в ЭВМ, цвет кодируется числом. В зависимости от количества допустимых цветов, число двоичных разрядов на один пиксел будет различным. Так, для черно-белой картинки закодировать цвет точки можно одним битом: 0 - черный, 1 - белый. Для случая 16 цветов требуется уже по 4 разряда на каждую точку, а для 256 цветов - 8, т.е. 1 байт.

1111 1111 1111 1111

   F F F F

1111 0000 0000 1111

   F 0 0 F

1111 0000 0000 1111

   F 0 0 F

1111 1111 1111 1111

   F F F F

1111

 F

1001

 9

1001

 9

1111

 F

Для того, чтобы наглядно представить себе, как хранится в памяти ЭВМ простейшее изображение, рассмотрим для примера белый квадратик на черном фоне размером 4х4. В черно-белом режиме это будет выглядеть наиболее компактно (сначала для наглядности приведен двоичный, а затем шестнадцатиричный вид). В режиме 16-цветной графики это же самое изображение потребует памяти в 4 раза больше:


Наконец, при 256 цветах на каждую точку требуется уже по байту и наш квадратик разрастется еще вдвое:

11111111 11111111 11111111 11111111

   FF FF FF FF

11111111 00000000 00000000 11111111

   FF 00 00 FF

11111111 00000000 00000000 11111111

   FF 00 00 FF

11111111 11111111 11111111 11111111

   FF FF FF FF

При этом, белый цвет, как самый яркий, обычно имеет максимально возможный номер. Поэтому для черно-белого режима он равен 1, для 16-цветного - 15, а для 256 цветов - 255.

Кодирование промежуточные цвета. Методы кодирования цвета даже для одной и той же ЭВМ могут довольно существенно различаться. Причем не только в зависимости от конструкции дисплея, но и от графического режима, в котором тот в данный момент работает! Более того, соответствие между номерами цветов и их представлением на экране можно переопределять по усмотрению пользователя (это называется изменением палитры). Поэтому ограничимся в качестве примера стандартным 16-цветным набором для наиболее распространенного компьютера IBM PC:

0 - черный

8 - темно-серый

1 – синий

9 - ярко-синий

2 - зеленый

A - ярко-зеленый

3 - голубой

B - ярко-голубой

4 - красный

C - ярко-красный

5 - розовый

D - ярко-розовый

6 - коричневый

E - ярко-желтый

7 – серый

F - ярко-белый

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

Кодирование звуковой информации (ЭВМ третьего поколения еще не умела обрабатывать этот вид информации). Принцип преобразования звукового сигнала в цифровую форму и его последующее воспроизведение показаны на рис.2.

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

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

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

7.5.2.Представление символов и строк. На символ отводится один байт памяти,  в который записывается  код символа - целое от 0 до 255. В ПК используется система кодировки ASCII .  Она, естественно, не содержит кодов русских букв, поэтому в нашей стране применяется некоторый вариант этой системы с украинскими буквами  (обычно это альтернативная кодировка ГОСТа).

Некоторые особенности этих систем кодировки:

- код пробела  меньше кода любой буквы, цифры и вообще любого графически представимого символа;

- коды цифр  упорядочены по величине цифр и  не содержат  пропусков, т.е. из неравенства код('0')<=код(c)<=код('9') следует, что c - цифра;

- коды больших латинских букв упорядочены согласно алфавиту и не со-

держат пропусков; аналогично с малыми латинскими буквами;

- (в альтернативной кодировке ГОСТа) коды русских букв (как больших,

так и малых)  упорядочены согласно алфавиту,  но между ними  есть коды других символов.

Строка (последовательность символов) размещается в соседних байтах

памяти (в неперевернутом виде): код первого символа строки записывается в первом байте, код второго символа - во втором байте и т.п.  Адресом строки считается адрес ее первого байта.

В ПК строкой считается также и последовательность слов (обычно это

последовательность целых чисел).  Элементы таких строк располагаются в

последовательных ячейках памяти,  но каждый элемент представлен в "пе-

ревернутом" виде.

Таб. № 7.1

Стандартные подмножества Unicode 3.0

Диапазон

Описание

Коды UTF-8

00 - 7F

Basic Latin

Базовая латиница

00 - 7F

80 - FF

Latin-1 Supplement

Латиница-1 дополнительная

C2 80 - C3 BF

100 - 17F

Latin Extended-A

Расширенная латиница-A

C4 80 - C5 BF

180 - 24F

Latin Extended-B

Расширенная латиница-B

C6 80 - C9 8F

250 - 2AF

IPA Extensions

Фонетические знаки

C9 90 - CA AF

2B0 - 2FF

Spacing Modifier Letters

Символы изменения пробела

CA B0 - CB BF

300 - 36F

Combining Diacritical Marks

Диакритические знаки

CC 80 - CD AF

370 - 3FF

Greek

Греческое и коптское письмо

CD B0 - CF BF

400 - 4FF

Cyrillic

Кириллица

D0 80 - D3 BF

500 - 52F

резерв

D4 80 - D4 AF

530 - 58F

Armenian

Армянское письмо

D4 B0 - D6 8F

590 - 5FF

Hebrew

Ивритское письмо

D6 90 - D7 BF

600 - 6FF

Arabic

Арабское письмо

D8 80 - DB BF

700 - 74F

Syriac

Сирийское письмо

DC 80 - DD 8F

750 - 77F

резерв

DD 90 - DD BF

780 - 7BF

Thaana

Тана (мальдивское письмо)

DE 80 - DE BF

7C0 - 8FF

резерв

DF 80 - E0 A3 BF

900 - 97F

Devanagari

Деванагари

E0 A4 80 - E0 A5 BF

980 - 9FF

Bengali

Бенгали

E0 A6 80 - E0 A7 BF

A00 - A7F

Gurmukhi

Гурмукхи

E0 A8 80 - E0 A9 BF

A80 - AFF

Gujarati

Гуджарати

E0 AA 80 - E0 AB BF

B00 - B7F

Oriya

Ория

E0 AC 80 - E0 AD BF

B80 - BFF

Tamil

Тамили

E0 AE 80 - E0 AF BF

C00 - C7F

Telugu

Телугу

E0 B0 80 - E0 B1 BF

C80 - CFF

Kannada

Каннада

E0 B2 80 - E0 B3 BF

D00 - D7F

Malayalam

Малаялам

E0 B4 80 - E0 B5 BF

D80 - DFF

Sinhala

Сингальское письмо

E0 B6 80 - E0 B7 BF

E00 - E7F

Thai

Тайское (сиамское) письмо

E0 B8 80 - E0 B9 BF

E80 - EFF

Lao

Лаосское письмо

E0 BA 80 - E0 BB BF

F00 - FFF

Tibetan

Тибетское письмо

E0 BC 80 - E0 BF BF

1000 - 109F

Myanmar

Бирманское письмо

E1 80 80 - E1 82 9F

10A0 - 10FF

Georgian

Грузинское письмо

E1 82 A0 - E1 83 BF

1100 - 11FF

Hangul Jamo

Корейское письмо

E1 84 80 - E1 87 BF

1200 - 137F

Ethiopic

Эфиопское письмо

E1 88 80 - E1 8D BF

1380 - 139F

резерв

E1 8E 80 - E1 8E 9F

13A0 - 13FF

Cherokee

Чероки письмо

E1 8E A0 - E1 8F BF

1400 - 167F

Unified Canadian Aboriginal Syllabics

Слоговое письмо алгонкинских народов

E1 90 80 - E1 99 BF

1680 - 169F

Ogham

Огамическое письмо

E1 9A 80 - E1 9A 9F

16A0 - 16FF

Runic

Руническое письмо

E1 9A A0 - E1 9B BF

1700 - 177F

резерв

E1 9C 80 - E1 9D BF

1780 - 17FF

Khmer

Кхмерское письмо

E1 9E 80 - E1 9F BF

1800 - 18AF

Mongolian

Монгольское письмо

E1 A0 80 - E1 A2 AF

18B0 - 1DFF

резерв

E1 A2 B0 - E1 B7 BF

1E00 - 1EFF

Latin Extended Additional

Дополнительная латиница

E1 B8 80 - E1 BB BF

1F00 - 1FFF

Greek Extended

Греческое расширенное письмо

E1 BC 80 - E1 BF BF

2000 - 206F

General Punctuation

Знаки пунктуации

E2 80 80 - E2 81 AF

2070 - 209F

Subscripts and Superscripts

Верхние и нижние индексы

E2 81 B0 - E2 82 9F

20A0 - 20CF

Currency Symbols

Денежные символы

E2 82 A0 - E2 83 8F

20D0 - 20FF

Combining Diacritical Marks for Symbols

Диакритические знаки для символов

E2 83 90 - E2 83 BF

2100 - 214F

Letterlike Symbols

Буквенные символы

E2 84 80 - E2 85 8F

2150 - 218F

Number Forms

Числовые символы

E2 85 90 - E2 86 8F

2190 - 21FF

Arrows

Стрелки

E2 86 90 - E2 87 BF

2200 - 22FF

Mathematical Operators

Математические операторы

E2 88 80 - E2 8B BF

2300 - 23FF

Miscellaneous Technical

Технические символы

E2 8C 80 - E2 8F BF

2400 - 243F

Control Pictures

Значки управляющих кодов

E2 90 80 - E2 90 BF

2440 - 245F

Optical Character Recognition

Оптическое распознавание образов

E2 91 80 - E2 91 9F

2460 - 24FF

Enclosed Alphanumerics

Буквы и цифры в кружочках

E2 91 A0 - E2 93 BF

2500 - 257F

Box Drawing

Символы рамок

E2 94 80 - E2 95 BF

2580 - 259F

Block Elements

Символы заполнения

E2 96 80 - E2 96 9F

25A0 - 25FF

Geometric Shapes

Геометрические символы

E2 96 A0 - E2 97 BF

2600 - 26FF

Miscellaneous Symbols

Различные значки

E2 98 80 - E2 9B BF

2700 - 27BF

Dingbats

Значки Dingbats

E2 9C 80 - E2 9E BF

27C0 - 27FF

резерв

E2 9F 80 - E2 9F BF

2800 - 28FF

Braille Patterns

Шрифт Брайля

E2 A0 80 - E2 A3 BF

2900 - 2E7F

резерв

E2 A4 80 - E2 B9 BF

2E80 - 2EFF

CJK Radicals Supplement

Дополнительные ключи к иероглифам

E2 BA 80 - E2 BB BF

2F00 - 2FDF

Kangxi Radicals

Кандзи (ключи к иероглифам)

E2 BC 80 - E2 BF 9F

2FE0 - 2FEF

резерв

E2 BF A0 - E2 BF AF

2FF0 - 2FFF

Ideographic Description Characters

Описания идеограмм

E2 BF B0 - E2 BF BF

3000 - 303F

CJK Symbols and Punctuation

Идеографические символы и знаки препинания

E3 80 80 - E3 80 BF

3040 - 309F

Hiragana

Хирагана (японское письмо)

E3 81 80 - E3 82 9F

30A0 - 30FF

Katakana

Катакана (японское письмо)

E3 82 A0 - E3 83 BF

3100 - 312F

Bopomofo

Китайское слоговое письмо

E3 84 80 - E3 84 AF

3130 - 318F

Hangul Compatibility Jamo

Корейское совместимое письмо

E3 84 B0 - E3 86 8F

3190 - 319F

Kanbun

Камбун

E3 86 90 - E3 86 9F

31A0 - 31BF

Bopomofo Extended

Китайское расширенное слоговое письмо

E3 86 A0 - E3 86 BF

31C0 - 31FF

резерв

E3 87 80 - E3 87 BF

3200 - 32FF

Enclosed CJK Letters and Months

Дальневосточные буквы и месяцы в кружочках

E3 88 80 - E3 8B BF

3300 - 33FF

CJK Compatibility

Дальневосточные совместимые символы

E3 8C 80 - E3 8F BF

3400 - 4DB5

CJK Unified Ideographs Extension A

Унифицированные иероглифы, расширение А

E3 90 80 - E4 B6 B5

4DB6 - 4DFF

резерв

E4 B6 B6 - E4 B7 BF

4E00 - 9FFF

CJK Unified Ideographs

Унифицированные иероглифы

E4 B8 80 - E9 BF BF

A000 - A48F

Yi Syllables

Слоговое письмо ицзу (и)

EA 80 80 - EA 92 8F

A490 - A4CF

Yi Radicals

Ключи письма ицзу (и)

EA 92 90 - EA 93 8F

A4D0 - ABFF

резерв

EA 93 90 - EA AF BF

AC00 - D7A3

Hangul Syllables

Корейское слоговое письмо

EA B0 80 - ED 9E A3

D7A4 - D7FF

резерв

ED 9E A4 - ED 9F BF

D800 - DB7F

High Surrogates

Первый байт суррогатных символов

ED A0 80 - ED AD BF

DB80 - DBFF

High Private Use Surrogates

Первый байт личных суррогатных символов

ED AE 80 - ED AF BF

DC00 - DFFF

Low Surrogates

Второй байт суррогатных символов

ED B0 80 - ED BF BF

E000 - F8FF

Private Use Area

Область личных символов

EE 80 80 - EF A3 BF

F900 - FAFF

CJK Compatibility Ideographs

Совместимые иероглифы

EF A4 80 - EF AB BF

FB00 - FB4F

Alphabetic Presentation Forms

Декоративные варианты букв

EF AC 80 - EF AD 8F

FB50 - FDFF

Arabic Presentation Forms-A

Арабское декоративное письмо-A

EF AD 90 - EF B7 BF

FE00 - FE1F

резерв

EF B8 80 - EF B8 9F

FE20 - FE2F

Combining Half Marks

Диакритические знаки половинной ширины

EF B8 A0 - EF B8 AF

FE30 - FE4F

CJK Compatibility Forms

Декоративные дальневосточные формы

EF B8 B0 - EF B9 8F

FE50 - FE6F

Small Form Variants

Малые варианты символов

EF B9 90 - EF B9 AF

FE70 - FEFE

Arabic Presentation Forms-B

Арабское декоративное письмо-B

EF B9 B0 - EF BB BE

FEFF

Zero Width No-break Space

Неразрывный пробел нулевой ширины

EF BB BF

FF00 - FFEF

Halfwidth and Fullwidth Forms

Символы полной и половинной ширины

EF BC 80 - EF BF AF

FFF0 - FFFD

Specials

Специальные символы

EF BF B0 - EF BF BD

FFFE - FFFF

не используются

EF BF BE - EF BF BF


 

А также другие работы, которые могут Вас заинтересовать

52301. Свято 8 березня 33 KB
  Ми як справжні джентльмени Будем вас вітати 5й хлопчик: І своїх дівчаток славних Сьогодні привітаєм Тож ви їм поаплодуйте А ми їх зустрічаєм. Під музику заходять дівчата. Виконують пісню 1ша дівч.З днем 8го березня Із весняним святом З пролісками першими В цей чудовий час Мами наші рідні І бабусі милі Від усього серця Ми вітаєм вас 2га дівч.
52302. Berlin 69.5 KB
  Das Pergamonmuseum befindet sich auf der Museumsinsel. Viele Berliner und Gäste der Hauptstadt besuchen es. Im Pergamonmuseum könnt ihr die schönsten archäologischen Sammlungen der Welt sehen. Eine der bedeutenden Sehenswürdigkeiten des Museums ist das Pergamonaltar. Hier könnt ihr auch das Vorderasiatische Museum und das Museum für Islamische Kunst besichtigen. Die Besucher dieser Museen gehen durch 6000 Jahre Geschichte der alten Hochkulturen der Welt.
52303. Berühmte Menschen unseres Landes 58.5 KB
  Das war unter der Regierung des Fürsten Wolodymyr und seines Sohnes Jaroslaw. Wolodymyr der Große ging zum byzantinischer Christentum über. Von Kyiv aus breitete sich das Christentum in der ganzen Rus aus.
52304. Бешенство и его профилактика 139 KB
  Цель: познакомить учащихся с симптомами диагностикой бешенства научить оказывать неотложную помощь проинформировать о способах профилактики бешенства. Симптомы Инкубационный период бешенства длится обычно 13 месяца но может варьироваться от менее 1 недели до более одного года. Первоначальными симптомами бешенства являются высокая температура и во многих случаях боль или необычные необъяснимые ощущения покалывания пощипывания или жжения в месте раны. Эта форма бешенства протекает менее драматично и обычно дольше чем буйная форма.
52307. Безопасность на дорогах. Производственная одежда 66 KB
  Учитель биологии: приветствие. Учитель обслуживающего труда: Я знаю три отрасли промышленности сельского хозяйства транспорта. Она тоже спешила по всей видимости на важную встречу Учитель биологии: Как вы думаете о чем пойдет речь на нашем уроке Формулирует тему и цели урока зачитывает эпиграф. 1я ученица: когда путники зашли за поворот они увидели...
52309. Техногенна небезпека. Правила безпечної безпеки життя 46 KB
  Правила безпечної безпеки життя 7й клас Тема: Техногенна небезпека. Базові поняття: техногенна небезпека кислотні дощі надзвичайна ситуація НС. 2й ряд пригадує що означає поняття небезпека і називає свої асоціації до слова небезпека.