Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало пути.doc
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
7.81 Mб
Скачать

Проблемы с кодировкой и Unicode

В настоящее время используется несколько кодировок кириллицы позволяющих использовать восьмибитные коды от 0.. 255: KOI8-R, Windows 1251 и Unicode (UTF-8).

KOI8-R используется для серверов, работающих на базе платформы UNIX при пересылке сообщений на русском языке.

Компания Microsoft для работы с кириллицей в Интернете предложила свой стандарт Windows 1251.

Универсальный международный стандарт Unicode (UTF-8) был создан с целью объединить существующие национальные кодировки в одну.

Юнико́д (англ. Unicode) — стандарт кодирования, позволяющий представить символы практически всех письменных языков. Стандарт предложен в 1991 году организацией «Консорциум Юникода». Стандартом 2012 является версия Unicode 6.2.

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

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

Юникод имеет несколько форм представления : UTF-8, UTF-16 и UTF-32.

UTF-8 — представление Юникода, обеспечивающее наилучшую совместимость со старыми системами, использовавшими 8-битные символы. Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. Остальные символы Юникода изображаются последовательностями длиной от 2 до 4 байт Формат UTF-8 был изобретён в 1992 году и закреплён в документах RFC 3629.

Роль кодировки UTF-8  в веб-секторе постоянно растёт, де-факто Юникод стал стандартом для передачи гипертекстовой информации.

Для совместимости со старыми 16-битными системами (например, Windows NT) была изобретена система UTF-16, где первые 65 536 позиций отображаются непосредственно как 16-битные числа, а остальные представляются в виде «суррогатных пар». Кодовое пространство для этого было разбито на 17 плоскостей по 216 (65536) символов. Нулевая плоскость называется базовой, в ней расположены символы наиболее употребительных письменностей. Первая плоскость используется, в основном, для исторических письменностей, вторая — для редко используемых иероглифов, плоскости 15 и 16 выделены для частного употребления.

В UNIX-подобных операционных системах GNU/Linux, BSD и Mac OS X принята форма UTF-8 для файлов и UTF-32 или UTF-8 для обработки символов в оперативной памяти.

Внедрение Юникода привело к изменению подхода к традиционным 8-битным кодировкам. Если раньше кодировка задавалась шрифтом, то теперь она задаётся таблицей соответствия между данной кодировкой и Юникодом.

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