Knowledge (XXG)

yEnc

Source 📝

82:). Most competing encodings represent binary files by converting them into printable ASCII characters, because the range of printable ASCII characters is supported by most operating systems. However, since this reduces the available character set considerably, there is significant overhead (wasted bandwidth) over 8bit-byte networks. For example, in uuencode and Base64, three bytes of data are encoded into four printable ASCII characters, which equals four bytes, a 33% overhead (not including the overhead from headers). yEnc uses one character (one byte) to represent one byte of the file, with a few exceptions. 190:(which addressed the same flaws in uuencode). For example, yEnc requires the strings "=ybegin" and "=yend" to be placed around the encoded file in the message body. Although this is an improvement over uuencode's "begin" and "end", which occur more frequently in normal text, message readers can still encounter the strings outside of attachments (most frequently in discussions about yEnc itself). yEnc 106:
messages still require that carriage returns and line feeds have special meaning in a mail message. = is the escape character, so it itself is escaped. NUL is also escaped because of problems handling null characters in common code, although as an optimization yEnc adds 42 to every source byte so
202:
The yEncode draft proposal document was made available on 31 July 2001. A reference encoder and decoder was included in the MyNews 1.9 freeware version in November that year. yDec, a freeware win32 decoder came on 14 November 2001. On 21 March 2002,
538:
Version 1.92 of Forté's Usenet newsreader adds a trash folder, improves some existing features, and takes care of various bugs; but more important than the fixes and enhancements is the application's added support for the YEnc binary encoding
85:
yEnc assumes that binary data mostly can be transmitted through Usenet and email. Therefore, 252 of the 256 possible bytes are passed through unencoded as a single byte, whether that result is a printable ASCII character or not. Only
54:. yEnc was initially developed by Jürgen Helbing, and its first release was early 2001. By 2003 yEnc became the de facto standard encoding system for binary files on Usenet. The name yEncode is a wordplay on 46:
encoding method. yEnc's overhead is often (if each byte value appears approximately with the same frequency on average) as little as 1–2%, compared to 33–40% overhead for 6-bit encoding methods like
207:
supported yEnc with version 1.91. Due to feedback of Juergen Helbing, the release was postponed by one week. A couple of days after the release Jürgen Helbing wrote that Forté implemented yEnc
186:
Many programmers and news admins have outlined the weaknesses of yEnc. It suffers from many of the same flaws as uuencode does, a number of which had already been solved years before by
935: 916: 704: 321: 820: 456: 357: 528:
Spanbauer, Scott (August 2002). "Revision control - Latest Software Tweaks (Listen to a world of radio stations on the Internet)".
140: 294:
Kim, Juhoon; Schneider, Fabian; Ager, Bernhard; Feldmann, Anja (2010). "Today's Usenet Usage: NNTP Traffic Characterization".
772: 722: 418: 437: 895: 675: 697: 58:, since the idea is to only encode characters if it is absolutely required to adhere to the message format standard. 403: 194:
also attempt to reassemble files split into multiple messages by using the subject line, which is unreliable.
23: 735: 690: 299: 35: 810: 364:
While there are no official standards for yEnc, it is widely used for posting binary files on newsgroups
346: 111: 304: 750: 175: 171: 760: 327: 569: 217:
added yEnc support with version 8.0 in 2003. PowerArchiver 9.2 added yEnc support in May 2005.
353: 317: 273: 167: 879: 551: 460: 309: 265: 129: 121: 99: 75: 67: 940: 730: 507: 159: 95: 516:
Agent 1.91 provides full support for yEnc, a new Usenet encoding algorithm for binaries.
945: 854: 755: 643: 603: 204: 87: 929: 884: 874: 767: 713: 331: 178:
will decode single-part yEnc files, but is not able to combine multi-part binaries.
441: 163: 148:
As with uuencoding, despite its flaws, yEnc remains active and effective on Usenet.
107:
that, not uncommon, long stretches of zero bytes do not require a lot of escaping.
313: 869: 864: 827: 802: 422: 133: 125: 79: 66:
Usenet and email message bodies were intended to contain only ASCII characters (
376: 269: 71: 900: 489: 277: 155: 91: 670: 256:
Fellows, G. (2006). "Newsgroups reborn – The binary posting renaissance".
114:
or other standards document describing yEnc. The yEnc homepage contains a
665: 608: 235: 103: 47: 682: 740: 474: 214: 889: 847: 837: 832: 51: 31: 27: 395: 170:
do not provide yEnc support for either news or mail, but there are
815: 777: 43: 39: 296:
2010 INFOCOM IEEE Conference on Computer Communications Workshops
859: 842: 792: 782: 745: 588: 187: 686: 787: 604:"StuffIt Deluxe 8.0 gets new plug-ins, performance boost" 152:
all major newsreaders have been extended to yEnc support
660: 348:
High Definition: An A to Z Guide to Personal Technology
623:
Breen, Christopher (July 2004). "Stufflt Deluxe 8.0".
102:. LF and CR are escaped because the RFCs that define 671:"The story of B-News and his younger brother, yEnc." 26:
scheme for transferring binary files in messages on
801: 721: 570:"Juergen Helbing's feedback on yEnc and Agent 1.91" 236:"yEncode - A quick and dirty encoding for binaries" 345: 289: 287: 698: 8: 139:although neither has been submitted to the 705: 691: 683: 303: 917:Comparison of data-serialization formats 226: 644:"File Compression: PowerArchiver 9.2" 602:Sellers, Dennis (22 September 2003). 381:org.mozilla.lists.support-thunderbird 234:Helbing, Juergen (28 February 2002). 7: 406:from the original on 28 August 2013. 42:-based encoding methods by using an 14: 587:Helbing, Jürgen (22 March 2002). 436:Welch, Curt (19 September 2002). 642:Richard V. Dragan (4 May 2005). 589:"Forte Agent 1.91 supports yEnc" 552:"Agent 1.91 needs one more week" 488:Juergen "The Archiver" Helbing. 394:Helbing, Jürgen (10 June 2002). 936:Binary-to-text encoding formats 417:Nixon, Jeremy (17 March 2002). 150:The yEnc homepage states that " 141:Internet Engineering Task Force 455:Färber, Claus (4 March 2002). 377:"Yenc support in Thunderbird?" 1: 676:"Why yEnc is Good for Usenet" 475:"The original draft yEnc 1.0" 16:File transfer encoding scheme 419:"Why yEnc is bad for Usenet" 383:(Mailing list). 18 May 2006. 314:10.1109/INFCOMW.2010.5466665 118:specification and a grammar 962: 270:10.1016/j.diin.2006.04.006 209:in the best way imaginable 914: 457:"yEnc considered harmful" 438:"What's wrong with yEnc?" 508:"Agent 1.91 is Released" 666:yEnc specification text 24:binary-to-text encoding 490:"New features in 1.9" 352:. 2006. p. 353. 258:Digital Investigation 396:"Opponents to yEnc" 176:Mozilla Thunderbird 444:on 11 August 2013. 425:on 29 August 2013. 120:(which contradict 923: 922: 323:978-1-4244-6739-6 168:Windows Live Mail 34:. It reduces the 953: 880:Protocol Buffers 707: 700: 693: 684: 648: 647: 639: 633: 632: 620: 614: 613: 599: 593: 592: 584: 578: 577: 576:. 17 March 2002. 566: 560: 559: 558:. 15 March 2002. 548: 542: 541: 525: 519: 518: 504: 498: 497: 485: 479: 478: 471: 465: 464: 459:. Archived from 452: 446: 445: 440:. Archived from 433: 427: 426: 421:. Archived from 414: 408: 407: 391: 385: 384: 373: 367: 366: 351: 342: 336: 335: 307: 298:. pp. 1–6. 291: 282: 281: 253: 247: 246: 244: 242: 231: 198:yEncode adoption 193: 149: 144: 137: 117: 961: 960: 956: 955: 954: 952: 951: 950: 926: 925: 924: 919: 910: 797: 717: 711: 657: 652: 651: 641: 640: 636: 622: 621: 617: 601: 600: 596: 586: 585: 581: 568: 567: 563: 550: 549: 545: 527: 526: 522: 506: 505: 501: 487: 486: 482: 477:. 31 July 2001. 473: 472: 468: 463:on 1 June 2009. 454: 453: 449: 435: 434: 430: 416: 415: 411: 393: 392: 388: 375: 374: 370: 360: 344: 343: 339: 324: 305:10.1.1.679.6023 293: 292: 285: 255: 254: 250: 240: 238: 233: 232: 228: 223: 200: 191: 184: 160:Outlook Express 147: 138: 119: 115: 64: 17: 12: 11: 5: 959: 957: 949: 948: 943: 938: 928: 927: 921: 920: 915: 912: 911: 909: 908: 903: 898: 893: 887: 882: 877: 872: 867: 862: 857: 852: 851: 850: 840: 835: 830: 825: 824: 823: 813: 807: 805: 799: 798: 796: 795: 790: 785: 780: 775: 770: 765: 764: 763: 758: 753: 751:Web Encryption 743: 738: 733: 727: 725: 723:Human readable 719: 718: 712: 710: 709: 702: 695: 687: 679: 678: 673: 668: 663: 656: 655:External links 653: 650: 649: 634: 615: 594: 579: 561: 543: 536:(8): 138–139. 520: 499: 480: 466: 447: 428: 409: 386: 368: 359:978-0618714896 358: 337: 322: 283: 248: 225: 224: 222: 219: 215:Stuffit Deluxe 199: 196: 183: 180: 116:draft informal 63: 62:How yEnc works 60: 38:over previous 15: 13: 10: 9: 6: 4: 3: 2: 958: 947: 944: 942: 939: 937: 934: 933: 931: 918: 913: 907: 904: 902: 899: 897: 894: 891: 888: 886: 883: 881: 878: 876: 875:Property list 873: 871: 868: 866: 863: 861: 858: 856: 853: 849: 846: 845: 844: 841: 839: 836: 834: 831: 829: 826: 822: 819: 818: 817: 814: 812: 809: 808: 806: 804: 800: 794: 791: 789: 786: 784: 781: 779: 776: 774: 771: 769: 768:Property list 766: 762: 761:Web Signature 759: 757: 754: 752: 749: 748: 747: 744: 742: 739: 737: 734: 732: 729: 728: 726: 724: 720: 715: 714:Data exchange 708: 703: 701: 696: 694: 689: 688: 685: 681: 677: 674: 672: 669: 667: 664: 662: 661:yEnc homepage 659: 658: 654: 645: 638: 635: 630: 626: 619: 616: 611: 610: 605: 598: 595: 590: 583: 580: 575: 571: 565: 562: 557: 553: 547: 544: 540: 535: 531: 524: 521: 517: 513: 509: 503: 500: 495: 491: 484: 481: 476: 470: 467: 462: 458: 451: 448: 443: 439: 432: 429: 424: 420: 413: 410: 405: 401: 397: 390: 387: 382: 378: 372: 369: 365: 361: 355: 350: 349: 341: 338: 333: 329: 325: 319: 315: 311: 306: 301: 297: 290: 288: 284: 279: 275: 271: 267: 263: 259: 252: 249: 237: 230: 227: 220: 218: 216: 212: 210: 206: 197: 195: 189: 181: 179: 177: 173: 169: 165: 161: 157: 153: 145: 142: 135: 131: 127: 123: 113: 108: 105: 101: 97: 93: 89: 83: 81: 77: 73: 69: 61: 59: 57: 56:"Why encode?" 53: 49: 45: 41: 37: 33: 29: 25: 21: 905: 680: 637: 628: 624: 618: 607: 597: 582: 573: 564: 555: 546: 537: 533: 529: 523: 515: 512:forteinc.com 511: 502: 493: 483: 469: 461:the original 450: 442:the original 431: 423:the original 412: 399: 389: 380: 371: 363: 347: 340: 295: 264:(2): 73–78. 261: 257: 251: 239:. Retrieved 229: 213: 208: 201: 192:and uuencode 185: 164:Windows Mail 151: 146: 110:There is no 109: 98:, and = are 84: 65: 55: 19: 18: 870:MessagePack 865:FlatBuffers 855:Cap'n Proto 174:available. 930:Categories 539:algorithm. 494:winews.net 221:References 756:Web Token 300:CiteSeerX 278:1742-2876 156:Microsoft 901:uuencode 631:(7): 40. 625:Macworld 609:Macworld 530:PC World 404:Archived 400:yenc.org 332:18282467 182:Problems 172:plug-ins 104:Internet 48:uuencode 40:US-ASCII 36:overhead 741:EDIFACT 716:formats 241:26 July 100:escaped 30:or via 941:Usenet 890:Cyphal 885:Thrift 848:UBJSON 838:Base64 833:Base32 803:Binary 356:  330:  320:  302:  276:  132:  124:  78:  70:  52:Base64 32:e-mail 28:Usenet 946:Email 816:ASN.1 778:Rebol 574:Forté 556:Forté 328:S2CID 205:Agent 44:8-bit 22:is a 906:yEnc 892:DSDL 860:CBOR 843:BSON 828:Avro 793:YAML 783:TOML 746:JSON 731:Atom 354:ISBN 318:ISBN 274:ISSN 243:2014 188:MIME 166:and 134:2045 128:and 126:2822 80:2822 50:and 20:yEnc 896:XDR 821:SMI 811:AMF 788:XML 773:RDF 736:CSV 310:doi 266:doi 158:'s 154:". 130:RFC 122:RFC 112:RFC 88:NUL 76:RFC 74:or 72:822 68:RFC 932:: 629:21 627:. 606:. 572:. 554:. 534:20 532:. 514:. 510:. 492:. 402:. 398:. 379:. 362:. 326:. 316:. 308:. 286:^ 272:. 260:. 211:. 162:, 136:), 96:CR 94:, 92:LF 90:, 706:e 699:t 692:v 646:. 612:. 591:. 496:. 334:. 312:: 280:. 268:: 262:3 245:. 143:.

Index

binary-to-text encoding
Usenet
e-mail
overhead
US-ASCII
8-bit
uuencode
Base64
RFC
822
RFC
2822
NUL
LF
CR
escaped
Internet
RFC
RFC
2822
RFC
2045
Internet Engineering Task Force
Microsoft
Outlook Express
Windows Mail
Windows Live Mail
plug-ins
Mozilla Thunderbird
MIME

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.