UTF: unicode totaly f**king

Тема в разделе "WASM.SOFTWARE", создана пользователем Paguo_86PK, 25 ноя 2010.

  1. Paguo_86PK

    Paguo_86PK Руслан

    Публикаций:
    0
    Регистрация:
    8 окт 2007
    Сообщения:
    911
    Адрес:
    Ташкент
    Читам http://ru.wikipedia.org/wiki/UTF-8, где
    Код (Text):
    1. 0x00000000…0x0000007F|0xxxxxxx         |ASCII, в том числе английский алфавит, …
    2. 0x00000080…0x000007FF|110xxxxx 10xxxxxx|кириллица, расширенная латиница, арабский, …
    Я вот не пойму, почему каждая буква русского алфавита должна кодироваться двумя байтами!? Нет, принцип я понимаю. Я не понимаю ограничение!!!
    Почему целые слова из русских букв нельзя кодировать короче? Префиксно… Т.е.:
    Код (Text):
    1. 110xxxxx 10Буква1 110xxxxx 10Буква2 110xxxxx 10Буква3
    кодировать как
    Код (Text):
    1. 110xxxxx 10Буква1 10Буква2 10Буква3 10Буква4 10Буква5
    нельзя?
    Ведь при такой кодировке любое слово будет занимать нормальное число байт + 1 префиксный…
    А то читаю про IRC-сети и их нагрузку из-за UTF-8, а также и интернет страницы… Какой-то идиотизм прямо! Достало просто!
     
  2. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    Paguo_86PK
    сделайте себе транслятор на пхп на сервере.
     
  3. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Paguo_86PK
    Нельзя. На самом деле буквы будут кодироваться не так как Вы написали, а так:
    110Часть1Буквы1 10Часть2Буквы1 110Часть1Буквы2 10Часть2Буквы2 110Часть1Буквы3 10Часть2Буквы3
    При этом Часть1 не будет одинаковой для всех букв, т.к. Часть2 может закодировать лишь 64 символа, а в русском алфавите 66 букв (если считать раздельно сточные/прописные).
     
  4. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Потому что кодировки с переменной длиной символа - гнуснейшее зло из самых глубин ада. Сотни, тысячи и миллионы программистов утрахаются считать, сколько памяти выделять под текстовый буфер и налепят по этому поводу гигабайты глюков. Не говоря уже о том, как чудесно всё это будет тормозить во имя экономии на спичках.
     
  5. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Кстати, кому-то из команды FreePascal, видимо, не хватало острых ощущений (то бишь геморроя с кулак), и они сделали WideString в UTF-8 вместо того, чтобы последовать примеру Embarcadero, где UnicodeString строго из 16-битных символов. И вот из-за этого подготовка к вызову CreateFileW там выглядит как злобное и безумное колдунство.