Страница 4 из 4
Re: Не получается приведение
Добавлено: 10 апр 2014, 14:15
somewhere
При этом первый байт префиксный и заведомо ноля не содержит, так как признак следующего байта - первый больше 127. А второй может быть нулевым? Или третий? Или четвёртый?
Не может. Читайте стандарт кодирования.
Re: Не получается приведение
Добавлено: 10 апр 2014, 14:18
Romeo
Следующие посты прочитай. Там уже обсудили, что не может быть

Re: Не получается приведение
Добавлено: 10 апр 2014, 16:50
Сионист
Decoder писал(а):Так вот почему проект "Ё-мобиль" у Михаила Прохорова не состоялся - не ту кодировку использовали. :-)
Нет, просто он 4 буквы в названии пропустил.
Romeo писал(а):Следующие посты прочитай. Там уже обсудили, что не может быть
Опоздал.
Re: Не получается приведение
Добавлено: 10 апр 2014, 17:50
Сионист
В Windows API, тип wchar_t именуется как WCHAR и имеет фиксированный размер 16 бит, что не позволяет кодировать весь набор символов Unicode (больше 1 миллиона). Поэтому нарушается стандарт ANSI/ISO C, который требует, чтобы символьный тип wchar_t поддерживал все представимые в системе символы в одном объекте wchar_t. По сути в WinAPI под WCHAR подразумевается 2-байтное слово из кодировки UTF-16LE (как тип WORD). Поэтому символы с кодами выше FFFF16 кодируются парой WCHAR (так называемые «суррогаты»). И всем API-функциям передаётся не количество символов, а размер символьного массива в машинных словах.
В GNU/Linux тип wchar_t имеет размер 32 бита.
Ну очень не уникод.