|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:5020/400 10 Feb 2008 02:51:41 To : Andriy Gapon Subject : Re: Locale ru_RU.UTF-8 under FreeBSD - how? -------------------------------------------------------------------------------- >>> Andriy Gapon wrote: >> Что есть "поддержка многобайтных кодировок"? Если wide chars, AG> А что такое wide chars ? :-) AG> Многобайтная кодировка - это кодировка, в которой (сюрприз, сюрприз) для AG> кодирования символа может использоваться больше 1-го байта. Т.е. ASCII, AG> KOI8-*, windows-125X, ISO8859-X - однобайтные; UTF-8, UTF-16 - AG> многобайтные (причем в UTF-8 количество байтов на символ является AG> переменным). Это может быть принято "на пальцах", но формально это грубо неверно. Стандарт C99 говорит (пункт 3.7.2, из раздела определений): "1 multibyte character sequence of one or more bytes representing a member of the extended character set of either the source or the execution environment 2 NOTE The extended character set is a superset of the basic character set." Пункт 5.2.1 уточняет: "The representation of each member of the source and execution basic character sets shall fit in a byte." И далее - 5.2.1.2 про multibyte -- "The basic character set shall be present and each character shall be encoded as a single byte." И самое жёсткое оттуда же: "A byte with all bits zero shall be interpreted as a null character independent of shift state. A byte with all bits zero shall not occur in the second or subsequent bytes of a multibyte character." Из этого следует, что UTF-8 - многобайтная, а UTF-16 - нет: она не может быть определена как расширение базового набора, в котором символы - однобайтные. UTF-16 - широкая, но не многобайтная, потому что к ней этот термин неприменим в принципе. Если вспомнить далее по треду, что в UTF-16 есть свои последовательности из более чем одного "слова", то её можно было бы назвать многословной (но не многобайтной). -netch- --- ifmail v.2.15dev5.4 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/54217facae6b0.html, оценка из 5, голосов 10
|