define:UTF-8
Рубрика: Development | 12 March 2008, 20:11 |
Vadim Voituk
Сегодня, перечитывая очередной толмуд документации, случайно узнал как расшифровывается аббревиатура UTF-8.
Оказалось что
UTF-8 – это UCS Transformation Format 8
в свою очередь
UCS – это Universal Character Set
Вот и получается что
UTF-8 – не что иное как Universal Character Set Transformation Format 8 (почему именно 8?)
По другой версии UTF-8 расшифровывается как “Unicode Transformation Format 8″, а вот “Unicode” уже никак не расшифровывается.
Вот уж никогда не задумывался о том, что значит, такая до боли привычная, аббревиатура “UTF-8″…
Tweet
>> (почему именно 8?)
http://live.julik.nl/2005/12/composition-normalization-and-morons
полный “разбор полетов” по юникоду. (:
а вот чтиво тоже по теме
http://ru.wikipedia.org/wiki/UTF-8
тож хотел в википедию послать :)
Вот в википедии как раз приводится расшифровка “Unicode Transformation Format”, и не обьясняет откуда “8-ка”
Не там ищете товарищи, в Википедии. Я вообще не понимаю, почему никто тут не глянул – http://ru.wikipedia.org/wiki/Unicode
8 битная кодировка – UTF-8..
anycolor: Почему же не глянул? Очень даже глянул :)
Только нифига она на 8-битная :)
Всё очень просто. Минимальное количество бит для одного символа в UTF-8 как раз 8. В то время, как в UTF-16 – 16 и т.д. :)
Просто “полный” уникод (или Universal Character Set (UCS)), с которым быстрее всего работать имеет фиксированный размер в 32 бита (по стандарту – 31 бит всё-таки). Но так, как это довольно нерационально в плане хранения, вот и придумывают всякие хитрости по типу UTF-8/16, с которым хоть и немого медленнее работать (например, подсчёт количество символов в массиве байт), но намного более оптимальны в плане хранения.
упс. соврал Unicode 3.0 – 16битный, а UCS – 31(32)
угу :) UTF-8 вовсе не 8ми битная, она только частично 8ми битная…
я долго не мог понять, почему символы в UTF-8 занимают 16 бит… пока не попробовал что-то по-буржуйски написать :)
Символы UTF-8 могут занимать от 1 до 6 (или 4 точно не помню) байт.
И главное достоинство UTF-8 в том, что он совместим со старым добрым ASCII, т.е. основной набор символов (латинских есесно) имеет те же 8-битные коды что и в ASCII-таблице.