yEnc


YEnc
yEncは、Usenet上のメッセージまたは電子メールを介してバイナリファイルを転送するためのバイナリからテキストへのエンコーディングスキームです。8ビットのエンコード方式を使用することにより、以前のUS-ASCIIベースのエンコード方式よりもオーバーヘッドが削減されます。yEncのオーバーヘッドは、多くの場合(各バイト値が平均してほぼ同じ頻度で表示される場合)、わずか1〜2%です。これに対して、uuencodeやBase64などの6ビットエンコード方式のオーバーヘッドは33%〜40%です。yEncは当初JürgenHelbingによって開発され、最初のリリースは2001年初頭でした。2003年までに、yEncはUsenet上のバイナリファイルの事実上の標準エンコーディングシステムになりました。 yEncodeという名前は、「なぜエンコードするのか」という言葉遊びです。、メッセージ形式の標準に準拠することが絶対に必要な場合にのみ文字をエンコードするという考え方であるため。

コンテンツ
1 yEncのしくみ
2 問題
3 yEncodeの採用
4 参考文献
5 外部リンク

yEncのしくみ
ユーズネットや電子メールのメッセージ本文は、ASCII文字のみ(含むように意図されていたRFC  822または
RFC 2822)。印刷可能なASCII文字の範囲はほとんどのオペレーティングシステムでサポートされているため、ほとんどの競合するエンコーディングは、バイナリファイルを印刷可能なASCII文字に変換することによって表現します。ただし、これにより使用可能な文字セットが大幅に減少するため、8ビットバイトネットワークではかなりのオーバーヘッド(帯域幅の浪費)が発生します。たとえば、uuencodeとBase64では、3バイトのデータが4つの印刷可能なASCII文字にエンコードされます。これは4バイトに相当し、33%のオーバーヘッド(ヘッダーからのオーバーヘッドを含まない)です。yEncは、いくつかの例外を除いて、ファイルの1バイトを表すために1文字(1バイト)を使用します。 
yEncは、バイナリデータはほとんどUsenetと電子メールを介して送信できると想定しています。したがって、256個の可能なバイトのうち252個は、その結果が印刷可能なASCII文字であるかどうかに関係なく、エンコードされずに1バイトとして渡されます。のみNUL、LF、CR、および=がされているエスケープ。インターネットメッセージを定義するRFCは、キャリッジリターンとラインフィードがメールメッセージで特別な意味を持つことを要求しているため、LFとCRはエスケープされます。=はエスケープ文字なので、それ自体がエスケープされます。NULは、一般的なコードでnull文字を処理する際の問題のためにもエスケープされますが、最適化としてyEncはすべてのソースバイトに42を追加するため、珍しいことではありませんが、ゼロバイトの長いストレッチは多くのエスケープを必要としません。
yEncを説明するRFCまたは他の標準文書はありません。 yencのホームページが含まれているドラフト非公式仕様と文法(矛盾の
RFC 2822および
RFC 2045)、  を に提出されていないどちらもが、インターネットエンジニアリングタスクフォース。
uuencodingと同様に、その欠陥にもかかわらず、yEncは Usenetでアクティブかつ効果的。 yEncホームページには、「すべての主要なニュースリーダーがyEncサポートに拡張されました」と記載されています。マイクロソフトのOutlook Expressの、WindowsメールおよびWindows Liveのメールは、ニュースやメールのいずれかのためにyencのサポートを提供していませんが、そこにあるのプラグインが利用できます。Mozilla ThunderbirdはシングルパートのyEncファイルをデコードしますが、マルチパートのバイナリを組み合わせることができません。

問題
多くのプログラマーやニュース管理者は、yEncの弱点を概説しています。 uuencodeと同じ欠陥の多くに悩まされており、その多くはMIMEによってすでに何年も前に解決されていました(uuencodeの同じ欠陥に対処しました)。たとえば、yEncでは、文字列「= ybegin」と「= yend」をメッセージ本文のエンコードされたファイルの周囲に配置する必要がこれは、通常のテキストでより頻繁に発生するuuencodeの「begin」と「end」を改善したものですが、メッセージリーダーは、添付ファイルの外側の文字列に遭遇する可能性があります(yEnc自体に関する議論で最も頻繁に発生します)。yEncとuuencode も、信頼性の低い件名を使用して、複数のメッセージに分割されたファイルを再構築しようとします。

yEncodeの採用
yEncodeドラフト提案文書は2001年7月31日に利用可能になりました。リファレンスエンコーダーとデコーダーはその年の11月にMyNews1.9フリーウェアバージョンに含まれていました。フリーウェアのwin32デコーダーであるyDecは2001年11月14日に登場しました。2002年3月21日、エージェントはバージョン1.91でyEncをサポートしました。 Juergen Helbingのフィードバックにより、リリースは1週間延期されました。 リリースの数日後、ユルゲン・ヘルビングは、フォルテが想像できる最善の方法でyEncを実装したと書いた。
Stuffit Deluxeは、2003年にバージョン8.0でyEncサポートを追加しました。 PowerArchiver 9.2は、2005年5月にyEncサポートを追加しました。

参考文献
^ ヘルビング、ユルゲン(2002年2月28日)。「yEncode-バイナリ用の迅速でダーティなエンコーディング」。検索された26年7月2014。
^ Fellows、G。(2006)。「生まれ変わったニュースグループ–バイナリ投稿のルネッサンス」。デジタル調査。3(2):73–78。土井:10.1016 /j.diin.2006.04.006。ISSN 1742年から2876年。   ^ キム、ジュフン; シュナイダー、ファビアン; ベルンハルト・エイガー; フェルドマン、アンジャ(2010)。「今日のUsenetの使用法:NNTPトラフィックの特性評価」。コンピュータ通信ワークショップに関する2010INFOCOMIEEE会議。pp。1–6。CiteSeerX 10.1.1.679.6023。土井:10.1109 /INFCOMW.2010.5466665。ISBN   978-1-4244-6739-6。
^ 高解像度:パーソナルテクノロジーのAからZまでのガイド。2006.p。353. ISBN  978-0618714896。yEncの公式標準はありませんが、ニュースグループにバイナリファイルを投稿するために広く使用されています ^ 「ThunderbirdでのYencサポート?」。org.mozilla.lists.support-thunderbird(メーリングリスト)。2006年5月18日。
^ ヘルビング、ユルゲン(2002年6月10日)。「yEncの反対者」。yenc.org。2013年8月28日にオリジナルからアーカイブされました。
^ ニクソン、ジェレミー(2002年3月17日)。「なぜyEncはUsenetに悪いのか」。2013年8月29日にオリジナルからアーカイブされました。
^ ウェルチ、カート(2002年9月19日)。「yEncの何が問題になっていますか?」。2013年8月11日にオリジナルからアーカイブされました。
^ Färber、Claus(2002年3月4日)。「yEncは有害と見なされました」。2009年6月1日にオリジナルからアーカイブされました。
^ 「元のドラフトyEnc1.0」。2001年7月31日。
^ ユルゲン「アーカイバ」ヘルビング。「1.9の新機能」。winews.net。
^ 「エージェント1.91がリリースされました」。forteinc.com。エージェント1.91は、バイナリ用の新しいUsenetエンコーディングアルゴリズムであるyEncを完全にサポートします。
^ スパンバウアー、スコット。「リビジョン管理-最新のソフトウェアの調整(インターネット上のラジオ局の世界に耳を傾ける)」。PCワールド。20(8):138–139。FortéのUsenetニュースリーダーのバージョン1.92は、ごみ箱フォルダーを追加し、いくつかの既存の機能を改善し、さまざまなバグを処理します。ただし、修正や機能拡張よりも重要なのは、YEncバイナリエンコーディングアルゴリズムに対するアプリケーションの追加サポートです。
^ 「エージェント1.91にはもう1週間必要です」。フォルテ。2002年3月15日。
^ 「yEncおよびエージェント1.91に関するJuergenHelbingのフィードバック」。フォルテ。2002年3月17日。
^ ヘルビング、ユルゲン(2002年3月22日)。「ForteAgent1.91はyEncをサポートしています」。
^ 売り手、デニス(2003年9月22日)。「StuffItDeluxe8.0は新しいプラグインを取得し、パフォーマンスを向上させます」。Macworld。
^ ブリーン、クリストファー。「StuffltDeluxe8.0」。Macworld。21(7):40。
^ リチャードV.ドラガン(2005年5月4日)。「ファイル圧縮:PowerArchiver9.2」。

外部リンク
yEncホームページ
yEnc仕様テキスト
「B-Newsと彼の弟、yEncの物語。」
「yEncがUsenetに適している理由」