#11
|
|||
|
|||
Проблема многобайтовых кодировок как проблема курицы и яйца в Фидо
Mithgol the Webmaster написал(а) к Nil Alexandrov в Oct 16 19:33:20 по местному времени:
Так было 19:12 27 Oct 16 написано от Nil Alexandrov к Mithgol the Webmaster: MtW>> С этого момента поподробнее. Которые новые стандарты буксуют MtW>> и в чём именно выражается пробуксовывание их? (Вопрос не риторический MtW>> и не служит сарказмом.) NA> Мультибайтовые кодировки. Какое состояние дел на сегодня? Многие классические редакторы почты Фидонета (такие, как GoldED+, например) были спроектированы как восьмибитные приложения. Они ожидают, что каждый символ фидонетовского сообщения кодируется одним байтом. Следовательно, они никогда не будут поддерживать кодировки Unicode UTF-8 или UTF-16. Эта ситуация является проблемою типа "курица или яйцо". Сообщения в кодировке UTF-8 не появляются в Фидонете, так как ни одним из популярных читальников они никогда не будут прочитаны. С другой стороны, отсутствие таковых сообщений означает, что у разработчиков популярных читальников нет нужды развивать свой софт, а у их пользователей нет нужды обновлять свои читальники или выбирать какие-либо новые (поддерживающие Unicode) читальники. Для преодоления этой проблемы я предложил простой метод, который позволяет подстрокам Unicode появляться (в кодированном и экранированном виде) внутри восьмибитных строк. Метод кодирования основан на формате UTF-7 (RFC 2152). Метод экранирования вдохновлён ссылками на символы НTML (НTML 4.01, подраздел 5.3.1, подраздел 5.3.2). Реализацией этого метода достигается следующая ситуация: *) Пользователи новых (поддерживающих Unicode) приложений Фидонета могут читать и записывать подстроки Unicode в восьмибитных сообщениях. *) Пользователи старых (восьмибитных) приложений Фидонета могут читать восьмибитные части сообщения. Подстроки Unicode остаются неразборчивыми, но для восьмибитного приложения это естественно, и причиняет лишь небольшое неудобство, и послужит как побуждение к апгрейду. Стандарт я назвал Fidonet Unicode substrings (фидонетовские подстроки Unicode). Английская версия: https://github.com/Mithgol/fiunis/bl...ter/fiunis.txt Перевод на русский язык: https://github.com/Mithgol/fiunis/bl...fiunis.rus.txt Эталонная реализация (свободный открытый код): https://github.com/Mithgol/fiunis Реализации на*уровне приложений, написанных автором стандарта (то есть мною): *) Fido2RSS https://github.com/Mithgol/fido2rss *) PhiDo https://github.com/Mithgol/phido *) twi2fido https://github.com/Mithgol/node-twi2fido/ Фидонет будет великим и гипертекстовым! [Ru.Mozilla] http://Mithgol.Ru/ Mithgol the Webmaster. [Братство Нод] [Team А я меняю subj] ... Да, убийца ── я. Теперь обо мне узнает вся Америка. (Р. Б. Смит, убийца) --- Нет таких игр. http://bash.im/comics/20081210 |