YEnc - yEnc - Wikipedia

yEnc je kódování binárního textu schéma pro přenos binárních souborů ve zprávách na Windows Usenet nebo prostřednictvím e-mailem. Snižuje to nad hlavou oproti předchozímu USA-ASCII metody kódování založené na použití 8-bit metoda kódování. yEnc je často (pokud se každá hodnota bajtu objevuje přibližně se stejnou frekvencí v průměru) jen 1–2%,[1] ve srovnání s 33% –40% režií u 6bitových kódovacích metod, jako je uuencode a Base64. yEnc původně vyvinul Jürgen Helbing a jeho první vydání bylo počátkem roku 2001. Do roku 2003 se yEnc stal de facto standardním kódovacím systémem pro binární soubory na Usenetu.[2] Název yEncode je slovní hříčka „Proč kódovat?“, protože myšlenkou je zakódovat znaky pouze v případě, že je bezpodmínečně nutné dodržovat standard formátu zprávy.[3]

Jak funguje yEnc

Těla sítě Usenet a e-mailových zpráv měla obsahovat pouze znaky ASCII (RFC  822 nebo RFC  2822 ). Většina konkurenčních kódování představuje binární soubory jejich převodem na tisknutelné znaky ASCII, protože většina tisknutelných znaků ASCII je podporována většinou operačních systémů. Jelikož to však značně snižuje dostupnou znakovou sadu, v sítích s 8bitovými bajty existuje značná režie (zbytečná šířka pásma). Například v uuencode a Base64 jsou tři bajty dat zakódovány do čtyř tisknutelných znaků ASCII, což se rovná čtyřem bajtům, režie 33% (bez režie z hlaviček). yEnc používá jeden znak (jeden bajt) k reprezentaci jednoho bajtu souboru, s několika výjimkami.

yEnc předpokládá, že binární data lze většinou přenášet přes Usenet a e-mail. Proto je 252 z 256 možných bajtů předáno nekódovaně jako jeden bajt, ať už je výsledkem tisknutelný znak ASCII nebo ne. Pouze NUL, LF, ČR, a = jsou unikl. LF a CR jsou uniknuty, protože RFC, které definují Internet zprávy stále vyžadují, aby konce zpráv a řádkové kanály měly v e-mailové zprávě zvláštní význam. = je znak úniku, takže je sám unikl. NUL také uniklo kvůli problémům se zpracováním nulových znaků v běžném kódu, ačkoli jako optimalizace přidá yEnc 42 ke každému zdrojovému bajtu, takže není neobvyklé, že dlouhé úseky nulových bajtů nevyžadují mnoho úniku.

Tady není žádný RFC nebo jiný standardní dokument popisující yEnc.[4] Domovská stránka yEnc obsahuje a návrh neformální[Citace je zapotřebí ] specifikace a gramatika (což je v rozporu RFC  2822 a RFC  2045 ),[Citace je zapotřebí ] ačkoli žádný z nich nebyl předložen Pracovní skupina pro internetové inženýrství.[Citace je zapotřebí ]

Stejně jako uuencoding, i přes jeho nedostatky, yEnc zůstává[když? ] aktivní a efektivní na Usenet.[Citace je zapotřebí ] Domovská stránka yEnc uvádí, že „všechny hlavní čtečky novinek byly rozšířeny o podporu yEnc". Microsoft je Outlook Express, Windows Mail a Windows Live Mail neposkytují podporu yEnc pro zprávy ani poštu, ale existují zásuvné moduly dostupný. Mozilla Thunderbird dekóduje jednodílné soubory yEnc, ale není schopen kombinovat vícedílné binární soubory.[5]

Problémy

Mnoho programátorů a správců zpráv načrtlo slabiny yEnc.[6][7][8][9] Trpí mnoha stejnými nedostatky jako uuencode, z nichž řada již byla před lety vyřešena MIM (který řešil stejné chyby v uuencode). Například yEnc vyžaduje, aby řetězce „= ybegin“ a „= yend“ byly umístěny kolem kódovaného souboru v těle zprávy.[3] I když se jedná o vylepšení oproti „začátku“ a „konci“ uuencode, které se v běžném textu vyskytují častěji, čtenáři zpráv se mohou stále setkat s řetězci mimo přílohy (nejčastěji v diskusích o samotném yEnc). yEnc a uuencode[Citace je zapotřebí ] také se pokuste znovu sestavit soubory rozdělené do více zpráv pomocí předmětu, který je nespolehlivý.[podle koho? ]

yEncode přijetí

Návrh předlohy yEncode byl zpřístupněn 31. července 2001.[10] V listopadu téhož roku byl do freewarové verze MyNews 1.9 zahrnut referenční kodér a dekodér.[11] yDec, freewarový dekodér win32 přišel dne 14. listopadu 2001. Dne 21. března 2002 Činidlo podporován yEnc s verzí 1.91.[12][13] Kvůli zpětné vazbě Juergena Helbingu bylo vydání odloženo o jeden týden.[14][15] Pár dní po vydání Jürgen Helbing napsal, že Forté implementovalo yEnc nejlepším možným způsobem.[16]

Stuffit Deluxe přidána podpora yEnc s verzí 8.0 v roce 2003.[17][18] PowerArchiver 9.2 přidal podporu yEnc v květnu 2005.[19]

Reference

  1. ^ Helbing, Juergen (28. února 2002). „yEncode - rychlé a špinavé kódování binárních souborů“. Citováno 26. července 2014.
  2. ^ Fellows, G. (2006). "Znovuzrození diskusních skupin - binární vysílání renesance". Digitální vyšetřování. 3 (2): 73–78. doi:10.1016 / j.diin.2006.04.006. ISSN  1742-2876.
  3. ^ A b Kim, Juhoon; Schneider, Fabian; Ager, Bernhard; Feldmann, Anja (2010). "Dnešní využití sítě Usenet: Charakterizace provozu NNTP". Konference INFOCOM IEEE 2010 o seminářích o počítačové komunikaci. s. 1–6. CiteSeerX  10.1.1.679.6023. doi:10.1109 / INFCOMW.2010.5466665. ISBN  978-1-4244-6739-6.
  4. ^ Vysoké rozlišení: Průvodce osobní technologií od A do Z. 2006. s. 353. ISBN  978-0618714896. I když pro yEnc neexistují žádné oficiální standardy, je široce používán pro odesílání binárních souborů do diskusních skupin
  5. ^ „Podpora Yenc v Thunderbirdu?“. org.mozilla.lists.support-thunderbird (Poštovní seznam). 18. května 2006.
  6. ^ Helbing, Jürgen (10. června 2002). „Odpůrci soutěže yEnc“. yenc.org. Archivováno z původního dne 28. srpna 2013.
  7. ^ Nixon, Jeremy (17. března 2002). „Proč je yEnc pro Usenet špatný“. Archivováno z původního dne 29. srpna 2013.
  8. ^ Welch, Curt (19. září 2002). „Co se děje s yEnc?“. Archivováno z původního dne 11. srpna 2013.
  9. ^ Färber, Claus (4. března 2002). „yEnc považováno za škodlivé“. Archivovány od originál dne 1. června 2009.
  10. ^ „Původní koncept yEnc 1.0“. 31. července 2001.
  11. ^ Juergen „Archiver“ pomáhal. „Nové funkce v 1.9“. winews.net.
  12. ^ „Agent 1.91 je uvolněn“. forteinc.com. Agent 1.91 poskytuje plnou podporu pro yEnc, nový algoritmus kódování Usenet pro binární soubory.
  13. ^ Spanbauer, Scott (srpen 2002). „Kontrola revizí - nejnovější vylepšení softwaru (poslouchejte svět rozhlasových stanic na internetu)“. PC svět. 20 (8): 138–139. Verze 1.92 Forten's Usenet newsreader přidává složku koše, vylepšuje některé stávající funkce a stará se o různé chyby; ale důležitější než opravy a vylepšení je přidaná podpora aplikace pro binární kódovací algoritmus YEnc.
  14. ^ „Agent 1.91 potřebuje ještě jeden týden“. Silná stránka. 15. března 2002.
  15. ^ „Zpětná vazba Juergena Helbingu na yEnc a agenta 1,91“. Silná stránka. 17. března 2002.
  16. ^ Helbing, Jürgen (22. března 2002). „Forte Agent 1.91 podporuje yEnc“.
  17. ^ Sellers, Dennis (22. září 2003). „StuffIt Deluxe 8.0 získává nové zásuvné moduly, zvýšení výkonu“. Macworld.
  18. ^ Breen, Christopher (červenec 2004). „Stufflt Deluxe 8.0“. Macworld. 21 (7): 40.
  19. ^ Richard V. Dragan (4. května 2005). „Komprese souborů: PowerArchiver 9.2“.

externí odkazy