Вход/Регистрация
Технология XSLT
вернуться

Валиков Алексей Н.

Шрифт:

]>

<root type="htm">

 <![CDATA[

<html>

<head>

...

</head>

<body>

...

</body>

</html>]]>

</root>

В этом документе определяется три нотации, три формата данных:

rtf
,
htm
и
txt
. Атрибут
type
элемента
root
указывает формат данных, которые содержатся в этом элементе — в данном случае это
"htm"
(что, очевидно, соответствует HTML-документу).

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

Символьные данные в XML-документах

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

Проблема многих языков заключается в том, что для них существует несколько альтернативных кодировок символов. Например, для кириллицы существуют такие кодировки, как CP-866, KOI8-R, CP-1251, ISO-8859-5, кодовая страница Macintosh и другие, но вместе с тем не существует единого стандарта, принятого де-факто. В итоге, для того, чтобы быть уверенным, что документ будет прочтен, его нужно представлять в трех или четырех кодировках, что очень неудобно.

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

#x400
до
#x4ff
. Таблица кодов для кириллицы может быть найдена в формате PDF на Web-сайте Unicode:

http://www.unicode.org/charts/PDF/U0400.pdf.

Использование Unicode

Для описания символов сотен языков всего мира, а также других символьных обозначений (например, математических символов) Unicode позволяет использовать три формы кодирования — UTF-8, UTF-16 и UTF-32.

UTF-8

В UTF-8 символы разных диапазонов кодируются последовательностями, состоящими из разного количества байт в соответствии со следующими правилами.

□ Символы с кодами в интервале

#x0
–
#x7F
кодируются одним байтом, первый бит которого равен нулю.

□ Для остальных символов число байт определяется количеством ведущих единиц первого байта последовательности.

□ Два первые бита каждого последующего байта равны единице и нулю соответственно.

□ Все остальные биты используются для кодирования символа.

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

Таблица 1.2. Формы кодирования символов в UTF-8

Диапазон Кол-во байт Форма кодирования Кол-во бит
#x0-#x7F
1 0xxxxxxx 7
#x80-#x7FF
2 110xxxxx 10xxxxxx 11
#x800-#xFFFF
3 1110xxxx 10xxxxxx 10xxxxxx 16
#x10000- #x1FFFFF
4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 21

К примеру, символу "

Э
" (заглавной русской букве "
Э
") Unicode присваивает код
#x42D
или
10000101101
в двоичном представлении. Это значение входит в интервал
#x80-#x7ff
, значит, для кодирования нужно использовать двух-байтовую форму вида
110xxxxx 10xxxxxx
, где символы "
x
" обозначают 11 бит, доступных для кодировки. Таким образом, данному символу будет соответствовать следующий двоичный код:

11010000 10101101

или

#xD0AD
в шестнадцатеричном представлении.

Полужирным шрифтом выделены управляющие биты UTF-8 (

110
означает, что символ закодирован двухбайтной последовательностью,
10
определяет второй байт последовательности), курсивом — биты кода символа.

Удобство UTF-8 заключается в том, что кодировка первых 127 символов совпадает с широко распространенной 7-битной кодировкой ASCII. Это делает возможным использование уже существующего программного обеспечения для обработки текста в UTF-8, например текстовых редакторов.

  • Читать дальше
  • 1
  • ...
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: