Стараюсь пользоваться UTF-8. Кто знает — поясните, зачем нужны UTF-16 и UTF-32. Почему они бывают UTF-16LE и UTF-16BE, почему нельзя было в стандарте жёстко установить один порядок байтов? Что такое UCS2, как оно связано с UNICODE и UTF-8?
Да, и среди однобайтных кодировок кириллицы KOI8 была самой лучшей, потому что даже на ЭВМ без поддержки кириллицы позволяла худо-бедно читать тексты на русском языке, все остальные этим полезным свойством не обладали.
The main advantage of UTF-32, versus variable-length encodings, is that the Unicode code points are directly indexable. Examining the n'th code point is a constant time operation. In contrast, a variable-length code requires sequential access to find the n'th code point. This makes UTF-32 a simple replacement in code that uses integers to index characters out of strings, as was commonly done for ASCII.
KOI8-R. Также являюсь автором 6-ти битной кодировки Cranium64, которая содержит 151 видимый символ (это достигается за счёт управляющих кодов, т.е. это не просто таблица для знакогенератора, и есть повод даже для аппаратной реализации (но, это уже буду делать не я)), являясь надстройкой над KOI8-R. Как-нибудь напишу конвертер в неё из KOI8-R и обратно.
Вот кусок Readme:
Обычно мало кто задумывается о компактном хранении текстов, а особенно в последнее время, когда медиа файлы занимают на
порядки больше места нежели текст. «Вот ещё, экономить на тексте в таком контексте...», - думают некоторые. Cranium64
создана для тех, кто мыслит иначе.
UTF-8. Удобно и дефолтно. Однобайтные кодировки малы, русский с венгерским одновременно хрен впихнёшь. Разницы между UTF-8 и вариантами UTF-16 не вижу, но UTF-8 сейчас — стандарт де-факто, так что ею и пользуюсь.
Ну вот, например. Такой стандартный гейский ответ в сочетании с характерной для них инфантильностью является очень весомым признаком. К сожалению, латентность это не показывает, но это не важно в принципе.
В UTF-16 изначально все символы были по 2 байта. Потом внезапно осознали, что 16 бит - это мало. Но можно про это забыть с небольшой потерей :-) Но даже с формулой 2+2, всё гораздо проще, чем ад UTF-8 от 1 символа до 4-х + символы сверху/снизу + разбор битов.