= Сообщение: 421 из 2735 ==================================== RU.FTN.DEVELOP = От : Mithgol the Webmaster 2:50/88 17 Jul 14 17:28:58 Кому : Serguei E. Leontiev 17 Jul 14 17:28:58 Тема : Употребление экранированного Unicode в восьмибитных сообщениях FGHI : area://RU.FTN.DEVELOP?msgid=2:50/88+53c7cfb9 На : area://RU.FTN.DEVELOP?msgid=<1187490639@ddt.demos.su>+555d042e = Кодировка сообщения определена как: CP866 ================================== ============================================================================== Так было 03:29 15 Jul 14 написано от Serguei E. Leontiev к Mithgol the Webmaster:
SEL> Если важен размер для иероглифов, то в UTF-7 будет немного короче SEL> punycode - 26 символов :)
SEL> +mAJcFlwNbHpOS3p/iTJbUHvH-
SEL> Впрочем, для кириллицы, соотношение обратное.
Очень хорошо, что ты обратил на это обстоятельство моё внимание. Я согласен, что UTF-7 удобнее Punycode.
Понятно, что нет никакой особенной проблемы в том, каково соотношение для кириллицы; для кириллицы будет использоваться основная кодировка сообщения. Альтернативному же кодированию станут подвергаться те символы, для которых основная кодировка сообщения не подходит.
Так как UTF-7 первоначально и разрабатывалась для того случая, когда необходимо уникодовые символы втиснуть в более узкую кодировку (правда, не восьмибитную, а семибитную), то подходит она неплохо. Понятно, что придётся также придумать способ экранирования UTF-7 от остального текста ── чтобы кодированный Unicode мог быть вычленен и декодирован фидобраузером.
Я бы даже пошёл ещё дальше и задумался о возможности употребления в Фидонете (в заголовке или в теле сообщения) кусков обычного UTF-8, только обрамлённого каким-нибудь экранированием для того, чтобы его никак нельзя было спутать с окружающим восьмибитным текстом сообщения.
И эта и предыдущая идея, разумеется, ведут к тому, чтобы ввести Unicode в Фидо медленно и аккуратно. Ведь если просто начать посылать сообщения, кодированные целиком в UTF-8, то пользователи GoldED+ и GoldED-NSF не прочтут их, так что дело не пойдёт. Куда лучше было бы экранировать от голого деда именно те куски текста, которые голый дед в любом случае прочесть никогда не мог бы, так как они содержат текст за пределами основной восьмибитной кодировки (такой, как CP866) ── например, китайские иероглифы. Однако современные фидобраузеры могли бы читать их.
Embrace and extend GoldED+.
К сожалению, мы не можем полагаться не неискажённость UTF-8 (в отличие от неискажённости UTF-7) в Фидонете по той причине, что не до конца изжита была проблема с заглавною русскою буквою эн (в особенности в зарубежном Фидонете). Код её 8D воспринимается как специальный, а ведь код этот в двоичном выражении (1000 1101) начинается на '10' и оттого может использоваться в UTF-8 в качестве второго, третьего или четвёртого байта многобайтной кодовой последовательности.
Если он делает это только в CP866, то этим он повредить UTF-8 не может, так как код неразрывного пробела в CP866 (а также в CP437 и CP850) ── шестнадцатеричный код FF, который в UTF-8 встретиться не может.
Если же он делает это и в других кодировках, то UTF-8 будет повреждаться, ведь код неразрывного пробела в CP1252 (и в ISO/IEC 8859) ── это A0, а в KOI-8R ── это 9A; тот и другой код в двоичном выражении начинается на '10' и оттого может использоваться в UTF-8 в качестве второго, третьего или четвёртого байта многобайтной кодовой последовательности.
Похоже на то, что придётся прибегнуть к UTF-7.
* изначально написано в эхоконференцию Ru.FTN.Develop * также было отослано в эхоконференцию Diatlo.Svejaque * также было отослано в эхоконференцию Ru.Fidonet.Today
Фидонет будет великим и гипертекстовым! [Ru.Mozilla] http://Mithgol.Ru/ Mithgol the Webmaster. [Братство Нод] [Team А я меняю subj]
... Полярный медведь: прямоугольный медведь после преобразования координат. --- Тех, кому азбука не дорога, В Ru.Fidonet.Yo не ступит нога! * Origin: Соблюдайте осторожность, ведь параноики следят за вами! (2:50/88)