- •Информационно-логические основы эвм
- •Системы счисления1
- •Происхождение систем счисления
- •Экономичность системы счисления
- •Перевод чисел из одной системы в другую
- •Перевод из 2-й в 8-ю и 16-ю и обратно
- •Представление информации в эвм
- •Представление информации
- •Целые числа (чила с фиксированной точкой)
- •Вещественные числа (числа с плавающей точкой)
- •Символьные данные
- •Альтернативная кодировка русского языка (cp866)
- •Числовые данные
- •Unicode (2-х байтовая кодировка) – для одновременного существования нескольких языков
- •Предпосылки создания и развитие Юникода
- •Версии Юникода
- •Кодовое пространство
- •Система кодирования
- •Модифицирующие символы
- •Двунаправленное письмо
- •Представленные символы
- •Способы представления
- •Порядок байтов
- •Реализации
- •Графические данные Растровая графика
- •Достоинства
- •Недостатки
- •Форматы
- •Сжатие с потерями
- •Векторная графика
- •Способ хранения изображения
- •Преимущества векторного способа описания графики над растровой графикой
- •Недостатки векторной графики.
- •Типичные примитивные объекты
- •Векторные операции
- •Мультимедиа (звук, изображение)
- •Параметры, влияющие на качество цифровой звукозаписи
- •Некоторые виды цифрового звука в сравнении
- •Деревья
Двунаправленное письмо
Стандарт Юникод поддерживает письменности языков как с направлением написания слева направо (англ. left-to-right, LTR), так и с написанием справа налево (англ. right-to-left, RTL) — например, арабское и еврейское письмо. В обоих случаях символы хранятся в «естественном» порядке; их отображение с учётом нужного направления письма обеспечивается приложением.
Представленные символы
Юникод включает практически все современные письменности, в том числе:
арабскую, армянскую, бенгальскую, бирманскую, глаголицу, греческую, грузинскую, деванагари, еврейскую, кириллицу, китайскую (китайские иероглифы активно используются в японском языке, а также достаточно редко в корейском), коптскую, кхмерскую, латинскую, тамильскую, корейскую (хангыль), чероки, эфиопскую, японскую (которая включает в себя кроме китайских иероглифов ещё и слоговую азбуку), и другие.
С академическими целями добавлены многие исторические письменности, в том числе: руны, древнегреческая, египетские иероглифы, клинопись, письменность майя, этрусский алфавит.
В Юникоде представлен широкий набор математических и музыкальных символов, а также пиктограмм.
Однако в Юникод принципиально не включаются логотипы компаний и продуктов, хотя они и встречаются в шрифтах (например, логотип Apple в кодировке MacRoman (0xF0) или логотип Windows в шрифте Wingdings (0xFF)). В юникодовских шрифтах логотипы должны размещаться только в области пользовательских символов.
Способы представления
Юникод имеет несколько форм представления (англ. Unicode transformation format, UTF): UTF-8, UTF-16 (UTF-16BE, UTF-16LE) и UTF-32 (UTF-32BE, UTF-32LE). Была разработана также форма представления UTF-7 для передачи по семибитным каналам, но из-за несовместимости с ASCII она не получила распространения и не включена в стандарт. 1 апреля 2005 года были предложены две шуточные формы представления: UTF-9 и UTF-18 (RFC 4042).
В Microsoft Windows NT и основанных на ней системах Windows 2000 и Windows XP в основном используется форма UTF-16LE. В UNIX-подобных операционных системах GNU/Linux, BSD и Mac OS X принята форма UTF-8 для файлов и UTF-32 или UTF-8 для обработки символов в оперативной памяти.
Punycode — другая форма кодирования последовательностей Unicode-символов в так называемые ACE-последовательности, которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах. Например, http://kgmu.kcn.ru/content/%D1%84%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B5%D1%82%D1%8B
Эквивалентно http://kgmu.kcn.ru/content/факультеты
UTF-8 — представление Юникода, обеспечивающее наилучшую совместимость со старыми системами, использовавшими 8-битные символы. Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байт (на деле, только до 4 байт, поскольку в Юникоде нет символов с кодом больше 10FFFF, и вводить их в будущем не планируется), в которых первый байт всегда имеет вид 11xxxxxx, а остальные — 10xxxxxx.
Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком и реализован в Plan 9[13]. Сейчас стандарт UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D.
Символы UTF-8 получаются из Unicode следующим образом:
Unicode UTF-8:
0x00000000 — 0x0000007F: 0xxxxxxx
0x00000080 — 0x000007FF: 110xxxxx 10xxxxxx
0x00000800 — 0x0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
0x00010000 — 0x001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
