Алексей Мандрюк
Гуру
(3512)
16 лет назад
Материал из Википедии — свободной энциклопедии
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 даёт выигрыш по объёму по ставнению с UTF-16. Поэтому UTF-8 часто применяется в различных компьютерных языках, основанных на английском.
Формат UTF-8 был изобретён 2 сентября 1992 года Кеном Томпсоном и Робом Пайком.