О сайте | Карта сайта | Календарь сайта | Содержание
www.shtogrin.com  

UTF-8

Unicode Transformation Format — формат преобразования Юникода) — кодировка, реализующая представление Юникода, совместимое с 8-битным кодированием текста.

Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. И наоборот, в тексте UTF-8 любой байт со значением меньше 128 изображает символ ASCII с тем же кодом. Остальные символы Юникода изображаются последовательностями длиной от 2 до 6 байтов (реально только до 4 байт, поскольку использование кодов больше 221 не планируется), в которых первый байт всегда имеет вид 11xxxxxx, а остальные — 10xxxxxx.

Проще говоря, в формате UTF-8 символы латинского алфавита, знаки препинания и управляющие символы ASCII записываются кодами US-ASCII, a все остальные символы кодируются при помощи октетов со старшим битом 1. В результате, даже если программа не распознаёт Юникод, то английский язык и разметка всё равно будут отображаться правильно.

Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком. Сейчас стандарт 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
(теоретически возможны, но не включены в стандарт также:)
0x00200000 — 0x03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
0x04000000 — 0x7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

В Юникоде для кириллицы выделено два раздела:

  1. Cyrillic (U+0400 — U+04FF)
  2. Cyrillic Supplement (U+0500 — U+052F).

Символы можно разделить на 3 группы:

  1. U+0400 — U+045F — это символы из ISO 8859-5, но перемещённые вверх на 864 позиции (36016).
  2. U+0460 — U+0489 — исторические буквы.
  3. U+048A — U+052F — это дополнительные буквы для разных языков, использующих кириллицу.

В Юникоде нет русских букв с ударением, но их можно делать составными, добавляя символ U+0301 («combining acute accent») после ударной гласной (например, ы́ э́ ю́ я́).

 


10.03.2007


2006-2024, Roman Shtogrin