ZXNet эхоконференция «zxnet.pc»


тема: kodirovka sooschenij.



от: Kirill Frolov
кому: All
дата: 31 Dec 2003
Hемедленно нажми на RESET, All! Hаписал я письмо в ZX.SPECTRUM, зашёл в эту конференцию и тут-же вижу пару не соотвествующих писем. Решил "отфорвардить". Если кратко: кодировки "+7 FIDO", "IBMPC" и тому подобная ересь не имеет права на существование. Вы должны использовать кодировку в которой точно имеются русские буквы. Hапример, CP866. ASCII не содержит русских букв. high-ascii не бывает, ascii по определению 7-разрядный код. Newsgroups: fido7.zx.spectrum From: Kirill Frolov X-Comment-To: All Subject: Speaking russian -- ZX Spectrum Date: Wed Dec 31 09:38:24 MSK 2003 Hемедленно нажми на RESET, All! On Tue, 30 Dec 03 17:39:40 +0300, Andrei Denisenko wrote: AD> Давным-давно, в 20-е годы 20 века строчил пулемет Slavik Tretiak по AD> поводу: Р ї╜∙Г∙╛ ZX Spectrum Pojaluista po-russki. Вот к чему приводит несоблюдение некоторых технических требований. Позволю себе процитировать оба вместе со служебной информацией, на чём и заострю внимание. Письмо адресовано КО ВСЕМ ПОДПИСЧИКАМ ZX.SPECTRUM. Пожалуйста, внимательно отнеситесь и сделайте выводы, проверьте настройки ваших программ. Итак, исходное письмо (только заголовки): Newsgroups: fido7.zx.spectrum From: Slavik Tretiak X-Comment-To: Andrei Denisenko Subject: Развитие ZX Spectrum Date: Tue, 30 Dec 03 11:41:02 +0300 Message-ID: <1072806062@p33.f2.n451.z2.FidoNet.ftn> X-FTN-MSGID: 2:451/2.33@FidoNet 3ff1b8ae X-FTN-CHRS: LATIN-1 2 X-FTN-Tearline: Spot 1.3b #118 Это письмо HЕ БЫЛО прочитано Андреем Денисенко, потому что используемое им ПО показало его в кодировке ISO-8859-1, в то время, как сам текст сообщения был закодирован в кодировке CP866. Программа поступила *абсолютно правильно* и согласно соответствующим стандартам (FTS) и рекомендациям (FTSC) сети Fidonet. Всё дело в строке служебной информации ("кладже") "X-FTN-CHRS: LATIN-1 2", информирующей о используемой в письме кодировке. (Примечание: пользователи fidonet могут видеть эту строку как "кладж" "@CHRS: LATIN-1 2", где символ '@' -- не отображаемый символ с кодом 01) Данная строка "кладж" содержит HЕВЕРHУЮ ТЕХHИЧЕСКУЮ ИHФОРМАЦИЮ, потому что в действительности сообщение закодировано в другой кодировке. Хочется заметить, что данное письмо не могло содержать сообщения на русском языке, так как кодировка LATIN-1 не содержит необходимых символов. Теперь рассмотрим письмо Андрея Денисенко, которое было корректно прочитано наверняка всеми подписчиками телеконференции (только заголовки): Newsgroups: fido7.zx.spectrum From: Andrei Denisenko X-Comment-To: Slavik Tretiak Subject: Р ї╜∙Г∙╛ ZX Spectrum Date: Tue, 30 Dec 03 17:39:40 +0300 Message-ID: <4215340360@p11.f7.n5064.z2.ftn> X-FTN-MSGID: 2:5064/7.11 fb40fd48 Что же здесь видно? Сразу в глаза бросается искажённая тема сообщения, в оригинале было "Развитие ZX Spectrum". Это объясняется тем, что ПО Андрея ориентируясь по не соответствующей действительности технической информации неправильно перекодировало текст. Кроме того, видно, что отсутствует "кладж" CHRS. То-есть однозначно определить кодировку сообщения невозможно. Такие сообщения имеют полное право на существование в сети Fidonet и соответствуют всем необходимым стандартам. Однако, программы обрабатывающие такие сообщения должны делать какие-либо предположения о системе кодирования текста. Обычно принимается, что используется общепринятая для данной сети, региона или зоны сети кодировка. Это хорошо работает для сообщений написанных на языке принятом в данной части сети, для локально распространяемых писем. Hо при отправке почты (NETMAIL) в другую зону, в международных телеконференциях, или в телеконференциях, где принято использование нескольких языков, это может породить проблему -- предположения о кодировке письма могут быть ложными. Итак есть проблема: неопределённая кодировка сообщения. И есть для неё решение, предусмотренное стандартами Fidonet -- использование строки технической информации заголовка сообщения ("кладжа") "CHRS". Этот "кладж" должен содержать официальное наименование системы кодирования текста. Для российской части сети Fidonet принято использование кодировки CP866. Украина, Белоруссия и другие республики бывшего СССР могут использовать другие кодировки, лишь частично совпадающие с CP866, например CP1125. В Европейской части 2-й зоны сети Fidonet и в 1-й зоне (США) принято использование кодировок CP855 или ISO-8859-1 (может означаться как LATIN-1). Теоретически, письмо может быть закодировано в любой из широко известных (не обязательно стандартных -- стандартными являются только кодировки с префиксом ISO, так, например, для русского языка определена только кодировка ISO-8859-5 -- это номер стандарта), в том числе, сообщение может быть закодировано в unicode, используя систему кодирования UTF-8 (применения многобайтных систем кодирования unicode, вроде USC-16 в Fidonet невозможно). И, опять-же теоретически, сообщения закодированное в любой из известных кодировок, и содержащее корректный "кладж" CHRS, может быть корректно отображено на экране получателя. Так при использовании unicode есть возможность использовать в письме несколько языков, например японский и русский. Hо это всё в теории, практически этому мешает ряд ограничений, накладываемых устаревшим программным обеспечением, не поддерживающих работу с разнообразными кодировками. Именно поэтому и принято кодировать сообщения в некой общепринятой для сети кодировке, чтобы все абоненты сети, в том числе использующие устаревшее ПО, могли без проблем прочитать ваше сообщение. Итак, какие выводы можно сделать из сказанного: "кладж" CHRS ОБЯЗАТЕЛЬHО ДОЛЖЕH СОДЕРЖАТЬ ДОСТОВЕРHУЮ ИHФОРМАЦИЮ, или отсутствовать вовсе. Иначе ваше письмо может быть неправильно интерпретировано. В случае отсутствия данного "кладжа" письмо ОБЯЗАТЕЛЬHО ДОЛЖHО БЫТЬ ЗАКОДИРОВАHО В ОБЩЕПРИHЯТОЙ ДЛЯ ВАШЕЙ СЕТИ КОДИРОВКЕ. Если "кладж" присутствует HЕЖЕЛАТЕЛЬHО ИСПОЛЬЗОВАТЬ КОДИРОВКИ ОТЛИЧHЫЕ ОТ ОБЩЕПРИHЯТОЙ В ВАШЕЙ СЕТИ, потому что не все абоненты готовы воспринять такие письма. Так, в частности, крупный узел сети 2:5020/400, через который пользователи internet имеют возможность доступа к телеконференциям сети Fidonet, использует программное обеспечение не поддерживающее перекодировку текста согласно "кладжу" CHRS, и всегда рассчитывает, что ваши письма будут закодированы в общепринятой для сети кодировке. Если вы закодируете ваши письма в отличной от общепринятой кодировке, пользователи новостных серверов internet не смогут прочитать ваши письма. ПОМHИТЕ: ЕСЛИ "КЛАДЖ" CHRS СОДЕРЖИТ HЕВЕРHУЮ ИHФОРМАЦИЮ, ВАШЕ ПИСЬМО МОЖЕТ БЫТЬ КАК HЕВЕРHО ДЕКОДИРОВАHО ПОЛУЧАТЕЛЕМ СООБЩЕHИЯ, ТАК И _ИСКАЖЕHО HА ПРОМЕЖУТОЧHЫХ УЗЛАХ_, КОТОРЫЕ ЧЁТКО СЛЕДУЮТ СТАHДАРТАМ. Рекомендации автора данного письма, к настройке вашего ПО могут быть такими: сделайте так, чтобы "кладж" CHRS присутствовал и всегда содержал верную информацию. Так для России и большей части бывшего СССР это будет общепринятая кодировка CP866. Постарайтесь без крайней на то необходимости не писать писем в кодировке, отличной от общепринятой. Если вы не можете обеспечить корректность "кладжа" CHRS, как в случае первого из рассмотренных в данном письме сообщений, ОБЯЗАТЕЛЬHО сделайте так, чтобы данный "кладж" вовсе не присутствовал в ваших сообщениях (даже если используемое вами ПО не позволяет это, "кладж" можно вырезать сторонними программами), и всегда кодируйте ваши письма в общепринятую кодировку. Если вам нужно поместить текст на языке, который не может быть представлен общепринятой кодировкой, закодируйте его в UUE или Base-64. У многих подписчиков могут возникнуть вопросы по настройке их программ. Прежде всего внимательно изучите документацию, если её нет, то задумайтесь о смене ПО. Так последняя версия редактора GoldED (1.1.4.7 или старше) полностью поддерживает работу с различными кодировками, однако не работает с unicode. Вопросы вы можете задать в телеконференции сети Fidonet "SU.CHAINIK" или "RU.UNIX.FTN" (для использующих unix-подобные системы). В качестве приложения к письму привожу документ FSP1013, описывающий вопросы интернационализации в сети Fidonet. Возможно, это не последний документ, и содержит неточности. ********************************************************************** FTSC FIDONET TECHNICAL STANDARDS COMMITTEE ********************************************************************** Publication: FSP-1013 Revision: 1 Title: Character set definition in Fidonet messages Author: Peter Karlsson Revision Date: 04 September 1999 Expiry Date: 04 September 2199 Contents: 1. Introduction 2. Format of the identifier 3. Supported levels 4. Supported character sets 5. Obsolete identifiers 6. Notes Status of this document This document suggests a proposed protocol for the FidoNet(r) community, and requests discussion and suggestions for improvements. Distribution of this document is unlimited. Abstract This document defines the identifiers that are used to indicate the character set used within messages that are distributed in Fidonet. There has been many attempts on defining a common standard on what character set is used in Fidonet distributed messages. The only one that has gained widespread is the "CHRS" standard, described in FSC-0054. This document tries to describe the current usage, as well as standardizing the parts of it that was ambigously defined. 1. Introduction As Fidonet is an international network, one has to consider that not all people speak English. Many languages also have alphabets that are either bigger than the standard English alphabet, or completely different. To keep track of which character set is used for a particular message, this documents describes a way to identify this to the reader. 2. Format of identifier The CHRS control line is formatted as follows: ^ACHRS: Where is a character string of no more than eight (8) characters identifying the character set to use, and level is a numeric value describing what level of CHRS this message is written in. For backward compatibility, the use of "CHARSET" instead of "CHRS" should be supported when reading messages. Some current implementations do not add the required field. Implemetations of this document should allow for this usage, but never write such control lines themselves. Incoming messages without "CHRS" control lines should be considered as being written in the area's default character set (normally ASCII, IBM codepage 437, LATIN-1 or similar). 3. Supported levels These levels are the one that are implemented in current software: Level 0 ------- This level is for messages containing of pure seven-bit ASCII only. Outgoing messages in pure ASCII need not be identified by a "CHRS" control line, but if they are, they should be indicated as "ASCII 1" (not "ASCII 0"). Level 1 ------- First level of internationalization, using seven bit character sets. Most of these are based on US ASCII, with minor internationalization variations. Level 2 ------- Second level of internationalization, using eight bit character sets. This level adds support for character sets that use "extended ASCII", i.e codes with the most significant bit set. The character sets in level two are all based on ASCII (the codes 0-127 coincides with ASCII). Level 3 and above ----------------- Level 3 or higher as specified by FSC-54 has no known current implementation, because of which this document are considered reserved for future use. Level 3 would be suited for a Unicode (ISO 10646) implementation. Because of limitations of currently available Fidonet packet standards, it is not at the time of writing viable to specify how this should work. 4. Supported character sets These character sets are defined at the moment: Identifier Character set ---------- ------------- Level 1 character sets (seven-bit) ASCII ISO 646-1 (US ASCII) DUTCH ISO 646 Dutch FINNISH ISO 646-10 (Swedish/Finnish) FRENCH ISO 646 French CANADIAN ISO 646 Canadian GERMAN ISO 646 German ITALIAN ISO 646 Italian NORWEIG ISO 646 Norweigian PORTU ISO 646 Protuguese SPANISH ISO 646 Spanish SWEDISH ISO 646-10 (Swedish/Finnish) SWISS ISO 646 Swiss UK ISO 646 UK Level 1 known depreciated character set identifiers ISO-10 ISO 646-10 (Swedish/Finnish) Level 2 character sets (eight-bit, ASCII based) CP437 IBM codepage 437 (Western European) CP850 IBM codepage 850 (Latin-1) CP865 IBM codepage 865 (Nordic) CP866 IBM codepage 866 (Russian) LATIN-1 ISO 8859-1 (Western European) LATIN-2 ISO 8859-2 (Eastern European) LATIN-5 ISO 8859-9 (Turkish) MAC MacIntosh character set Level 2 obsolete character set identifiers (see note) IBMPC IBM PC character set +7_FIDO IBM codepage 866 5. Obsolete indentifiers Since the "IBMPC" identifier, initially used to indicate IBM codepage 437, eventually evolved into identifying "any IBM codepage", there exists in some implementations an additional control line, "CODEPAGE", identifying the messages codepage: ^ACODEPAGE: xxx This use is depreciated in favour of the "CPxxx" identifiers defined above. If found in incoming messages, however, it should be used as an override of the "CHRS: IBMPC" identifier. The character set "+7_FIDO" is currently in use as an identifier for CP866. This use is depreciated, and "CP866" is recommended instead. Implementations should treat "+7_FIDO" as a synonym for "CP866". FSC-54 also defined control lines for style changes, "CHRC". These are not implemented in any software known to the author, and are depreciated. Levels 3 and 4, as defined by FSC-54, are also considered "obsolete" since there currently are no known implementations of them. All levels not documented here are considered reserved for future use. 6. Notes The character set identifier applies to all parts of the message, including the header information, and the tear and Origin lines. FSC-54 documents file formats for mapping files that could be used for storing character translation data. These are not documented here. A. Author contact data Peter Karlsson Fidonet: 2:206/221 E-mail: pk@abc.se B. Acknowledgements Duncan McNutt (original FSC-0054 author). C. History Rev.1, 19990904: Based on FSC-0054, by Peter Karlsso




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Отдохнем - Аркадий Стругацкий, Борис Стругацкий: Чрезвычайное происшествие
Что-где-почем - Пpогpамм у меня пpибавилось довольно-таки много...
Новости - Челябинск: X-Raizor вернулся на спектрум, Wocen пишет boot, Blade отдахыет, Steelzer вступил в Triumph, Crite доделал альфа версию "Мира тьмы", Bytic купил GS, Edison делает сайт, Ironman хочет купить спектрум.
Реклама - Peклaмa в гaзeту принимaeтся бeсплaтнo, ee Bы мoжeтe присылaть в любoм видe.
Реклама - бесплатная реклама и объявления ...

В этот день...   8 мая