• Авторизация


Немного матчасти про кодировки 24-11-2010 02:08 к комментариям - к полной версии - понравилось!


Дело в том, что в обычных кодировках типа windows-1251 один символ занимает один байт. И так было изначально и все функции в языках программирования заточены под это. В юникоде символ может состоять из нескольких байт. Например английские буквы занимают один байт. Кириллица уже 2 байта. Попробуйте например посчитать длину слова "Превед", получите 12. А "Превед, медвед" - 26, т.к. запятая и пробел занимают один байт. В общем не все так просто. Вся проблема в софте.
Для perl существует прагма use utf8; Добавляете ее и perl понимает юникод как надо. Не добавляется - творятся чудеса. В PHP про поддержку юникода ничего не знаю, но вроде как ее там нет.
В общем при работе с юникодом надо чтобы язык умел оперировать символами, а не байтами, а это не все умеют, к сожалению.
Использовать юникод в языках, которые с ним работать не умеют можно, но на свой страх и риск. Можно таких чудес насмотреться. Многие начинаю верить в НЛО. А чудес на самом деле нет (в программировании). С опытом это начинаешь понимать ;)
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Немного матчасти про кодировки | Aendor - Текст как-то по-дебильному написан (с) | Лента друзей Aendor / Полная версия Добавить в друзья Страницы: раньше»