UTF8

UTF8

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

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

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

  • Даже если программа не распознаёт Юникод, то латинские буквы, арабские цифры и знаки препинания будут отображаться правильно.
  • В случае, если латинские буквы и простейшие знаки препинания (включая пробел) занимают существенный объём текста, UTF-8 даёт выигрыш по объёму по сравнению с [1][2]
  • На первый взгляд может показаться, что UTF-16 удобнее, так как в ней большинство символов кодируется ровно двумя байтами. Однако это сводится на нет необходимостью поддержки суррогатных пар, о которых часто забывают при использовании UTF-16, реализовывая лишь поддержку символов UCS-2.[1]

Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком и реализован в Plan 9[3]. Сейчас стандарт UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D.

Символы UTF-8 получаются из Unicode следующим образом:

Unicode UTF-8
0x000000000x0000007F 0xxxxxxx
0x000000800x000007FF 110xxxxx 10xxxxxx
0x000008000x0000FFFF 1110xxxx 10xxxxxx 10xxxxxx
0x000100000x001FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

Также теоретически возможны, но не включены в стандарты:

Unicode UTF-8
0x002000000x03FFFFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
0x040000000x7FFFFFFF 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

Замечание: Символы, закодированные в UTF-8, могут быть длиной до шести байтов, однако стандарт Unicode не определяет символов выше 0x10ffff, поэтому символы Unicode могут иметь максимальный размер в 4 байта в UTF-8.

Содержание

Неиспользуемые значения байтов

В тексте UTF-8 принципиально не может быть байтов со значениями 254 (0xFE) и 255 (0xFF). Поскольку в Юникоде не определены символы с кодами выше 221, то в UTF-8 оказываются неиспользуемыми также значения байтов от 248 до 253 (0xF8—0xFE). Если запрещены искусственно удлинённые (за счёт добавления ведущих нулей) последовательности UTF-8, то не используются также байтовые значения 192 и 193 (0xC0 и 0xC1).

Примечания

  1. 1 2 Well, I'm Back String Theory (англ.). Robert O'Callahan (2008-03-01). Проверено 1 марта 2008.
  2. Ростислав Чебыкин Всем кодировкам кодировка. UTF‑8: современно, грамотно, удобно.. HTML и CSS. Проверено 22 марта 2009.
  3. http://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt (англ.)

Ссылки

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "UTF8" в других словарях:

  • UTF8 — …   Deutsch Wikipedia

  • Utf8 — …   Deutsch Wikipedia

  • UTF8 — UTF 8 Wikipédia …   Wikipédia en Français

  • Utf8 — UTF 8 Wikipédia …   Wikipédia en Français

  • List of unused highways in the United States — An unused highway may reference a highway or highway ramp that was partially or fully constructed but was unused [ US R and NY TF1 Practice for the Real Thing. City of New York 20 June 2005. 15 Jan. 2007 [http://www.nyc.gov/html/oem/html/news/05… …   Wikipedia

  • Lichens of Soldiers Delight — Trunk of oak covered with lichens: Flavoparmelia caperata and Punctelia rudecta .(Photographed at Soldiers Delight NEA).The Soldiers Delight Natural Environment Area [http://www.dnr.state.md.us/publiclands/central/soldiers.html]… …   Wikipedia

  • List of state highways in Maryland shorter than one mile (800–899) — The following is a list of state highways in Maryland shorter than one mile (1.6 km) in length with route numbers between 800 and 899. Most of these highways act as service roads, old alignments of more prominent highways, or connectors between… …   Wikipedia

  • List of unused highways in Canada — An unused highway may reference a highway or highway ramp that was partially or fully constructed but was unused [ US R and NY TF1 Practice for the Real Thing. City of New York 20 June 2005. 15 Jan. 2007 [http://www.nyc.gov/html/oem/html/news/05… …   Wikipedia

  • List of unused highways in New Jersey — An unused highway may reference a highway or highway ramp that was partially or fully constructed but was unused [ US R and NY TF1 Practice for the Real Thing. City of New York 20 June 2005. 15 Jan. 2007 [http://www.nyc.gov/html/oem/html/news/05… …   Wikipedia

  • List of Saint Seiya chapters — This is a list of chapters of the Saint Seiya manga, part of the Saint Seiya media franchise. The series was written and drawn by Masami Kurumada and was published by Shueisha in the Japanese language magazine Weekly Shonen Jump from January 1986 …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»