Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!maytag!looking!brad From: brad@looking.on.ca (Brad Templeton) Newsgroups: comp.binaries.ibm.pc.d Subject: Re: xx vs. uu Keywords: xxencode uuencode zoo Message-ID: <96075@looking.on.ca> Date: 15 Feb 90 00:38:10 GMT References: <1513@krafla.rhi.hi.is> <3418@plains.UUCP> Organization: Looking Glass Software Ltd. Lines: 71 Class: discussion May I suggest my ABE encoder? It's free, runs on DOS, Unix and other machines, and was designed with a group like comp.binaries.* in mind. It supports UUENCODE as one if its encoding methods, so you don't need a dabe program to decode such an encoding. Or it comes with tiny (< 4K byte source) decoders for the two ABE formats that can be posted with each encoding or at regular intervals at miniscule cost. In any ABE format ABE has the following features: a) Recover random scrambling easily b) Just run dabe on a series of files, with any added junk, parts in random order, duplicates, reposts, headers etc. and you get your binary if it can. ie. dabe /usr/spool/mail/mybox or dabe /usr/spool/news/comp/binaries/ibm/pc/101* works! Also creates partial files with gaps if instructed. c) CRC-32, checksums and byte counts on each block. d) Support for owners, dates, strange filenames etc. The ABE formats also support: Smaller encoding that uuencode on non-compressed files Text inside binaries is encoded as itself, and is thus readable -- you can look at a binary and figure what it is. Extensible features -- the decoder can be taught to understand more than the encoders use. The ABE2 format avoids all characters that have been known to be munged on USENET, for example by translation to EBCDIC & back. In short it was designed to handle all the typical problems of binary distribution over USENET. It also can encode multiple files, although it is not really an archiver. Here is the header of this message in /tmp/hdr, abe encoded, with comments This is a bit bulky for a very short file, but a small cost on a longer file. The first 3 chars are an optional 'line number'. If this file gets mucked up or split into parts, 'sort' can restore it! ;ABE ASCII-Binary-Encoding (by Brad Templeton) ;Use 'sort' and/or 'dabe' to decode T./z$$filecount=1 /* how many files in this encoding */ T.0N##S1000,1000,1000,ABE1 /* version info */ T.1N$$blocking=false /* not a blocked header */ T.2N$$uname=hdr /* multi-OS filename */ T.3f$$os=unix /* OS that did encoding */ T.4t$$fname=/tmp/hdr /* filename under that OS */ T.57$$owner=brad /* owner of file under that OS */ T.6l$$date=635042028 /* unix timestamp on file */ T.7p$$perm=33204 /* unix style permission mask */ T.8O$$size=226 /* bytes in file */ /* below we get the character set mapping for this file */ T.99""%C=<;M:987M65/4J3210M/.-,M+*)(M'&%qL`_^]% T.A0""&.\[Z%Y%&'%()*+%,-WX%0123%4567%89:;%<=>?% T.BI""'@ABC%DEFG%HIJK%LMNO%PQRS%TUVW&XYZ[M\]^_M T.CU""(`abc@defg%hijk%lmno%pqrs.tuvw%xyz>&?@ABM T.Dk"")DFGHMIJKLMMNOPMQRSTMUVabMcdefMghijMklmnM T.Ez""*oprsMtuvwMxyz%N&'()u*+,-u./01u2345u6789u T.F5""+:;<=u>?@AuBCDEuFGHIuJKLMuNOPQuRSTUuVWXYu T.GH"",Z[\]u^_`aubcdeufghiujklmunopqurstuuvwxEt /* here is the actual encoding, space is '.', NL is '/' */ T.H3Newsgroups:.compWbinariesWibmWpcWd/Subject:.Re:.xx.vsW.uu/Summary T.Ia:./Followup-To:./Distribution:./Organization:.Looking.Glass.Softw T.J8are.LtdW/Keywords:.xxencode.uuencode.zoo/References:.<1513@krafla T.KpWrhiWhiWis>.<3418@plainsWUUCP>/ /* end of file stuff, and CRC */ T.Lt$$end_file=hdr T.M5$$filecrc32=3951218314 T.NB##E20970 ;End of ABE encoding -- Brad Templeton, ClariNet Communications Corp. -- Waterloo, Ontario 519/884-7473