Ioann_
Ioann_
Это UTF16LE
Dr. Friedrich
ttldtor
Ioann_
Если не ошибаюсь, конечно
Matwey
Dr. Friedrich
Это UTF16LE
В этой программе — да. UTF-16 это разве не юникод?
Ioann_
Ну это явно не UTF 8
Dr. Friedrich
Да, совершенно верно, UTF-16 это не UTF-8.
Dr. Friedrich
Просили юникод — нате вам юникод.
Ioann_
А я прошу UTF 8 - так как через него и только него можно представить все что есть на этой планете
Ioann_
Ога, тогда ясно :(
Dr. Friedrich
Ну, на самом деле работает (65001), но вот с вводом в этом режиме у меня постоянные проблемы. Ни разу не видел, чтобы работало нормально.
Ioann_
А вот то что там в строках вводили в 11 - 14 плюсах, позможность писать /u+0x...
Ioann_
Или такого не было ? Если было, то расскажите, что это тогда ?
Ioann_
Согласен, теперь интересуют вопросы выше :)
Dr. Friedrich
Square
Dr. Friedrich
Последовательность байт — это уже кодировка какая-то.
Ioann_
Ну, как знал, так и ответил, что вам поправить сложно что ли :)?
Dr. Friedrich
У юникода есть несколько кодировок, они называются UTF.
Square
Dr. Friedrich
UTF-8, UTF-16, etc.
Ioann_
Согласен, да - все остальное кодировка декодировка
Square
Dr. Friedrich
Помимо очевидного, это может сломать всякие кривые программы, между прочим. Ну, те самые, заточенные на однобайтовую кодировку.
Square
Недавно обсуждали почему утф8 не панацея.
Для хранения он хорош однозначно
Square
Square
Она и на русском есть. За 17 лет актуальности не потеряла
Dr. Friedrich
Представь, что ты пишешь программу, которая спрашивает у пользователя букву. И считывает её в однобайтовый буфер (потому что у нас же однобайтовая кодировка, да?).
И вот тут ей внезапно суют кириллическую двухбайтовую «букву» в этот несчастный буфер. И всё превращается в ад.
Ioann_
Ioann_
Не могу найти, то что ты мне кидал :)
Square
Square
Ну гуглится же на раз два
Square
Джоел спольски - что нужно знать про кодировки
Ioann_
thx :)
Square
Вот актуализированная осовремененная версия со ссылкой на оригинал
Square
http://kunststube.net/encoding/
Square
Multibyte vs widechar и вот это вот все
Vladislav
Ioann_
Да, я ее даже когда то читал. Но все быстро забывается, если честно :)
Dr. Friedrich
На самом деле, для англоязычной аудитории статья более актуальна, чем для наших. Это же не им приходилось все эти сорок лет разгадывать ребусы из разряда БНОПНЯ.
Square
Владик чот пишет разгромное ...
Vladislav
Dr. Friedrich
Вангую, что там будет ненависти пост.
...чёрт, нет.
Square
Dr. Friedrich
Vladislav
юникод - он про другое. он кодирует назначенный символ в >1 октет
Vladislav
не более
Ioann_
Square
Блэт. Посоны. Давайте уже без гаданий на ромашке
Dr. Friedrich
Юникод каждому «символу» (а это тоже не вполне однозначное понятие, кстати) ставит в соответствие некий код. Этот код можно записать разными последовательностями байт. Начиная с big/little endian (что тоже учитывается), и заканчивая способами записи многобайтовых последовательностей.
Square
Dr. Friedrich
Кстати, а UTF-32 тоже бывает LE/BE? Я про его варианты никогда не слышал.
Ioann_
Vladislav
Square
Dr. Friedrich
Есть ещё одна смешная ремарка (на самом деле, грустная). Микрософт почему-то думает, что «Юникод» — это UTF-16LE :)
Dr. Friedrich
И последовательно у себя применяет такую терминологию.
Vladislav
Square
Ioann_
Vladislav
когда history++ в 200x писал с совместимостью от 98 до xp+ всего этого наелся
Ioann_
Хммм... а как писать переносимые програмы с кодировками с винды на никсы ?
Ioann_
Вот в никсах вчар если не ошибаюсь 4 байта
Dr. Friedrich
Ioann_
Тупо все в чарах и хранить ?(я так и делаю собсно)