[comp.binaries.ibm.pc] v08i228: atob, fast asm binary to/from ascii

ibmbin-request@crdgw1.crd.ge.com (11/07/90)

Checksum: 2800235935  (Verify with "brik -cv")
Posting-number: Volume 08, Issue 228
Submitted-by: raymond@brahms.berkeley.edu
Archive-name: atob/part01

  ATOB and BTOA are encoders, more efficient than uuencode (but less
widely used). This does the conversion from ASCII back to binary.


From the .ASM file:

   ; atob.asm:  Fast assembly-language version of atob.c
   ;            Version 1.1
   ;
   ; atob converts files from ascii to binary, undoing the encoding
   ; of btoa.

   ; atob reads its stdin and sends its output to the designated output file.
   ; If it already exists, the output file is overwritten *without*warning*.


[
Checksums obtained with the 4.3BSD "sum" or System V "sum -r" command.

checksum     size (bytes)  file (between BEGIN--cut and END--cut lines)
   61768        15035      part01

checksum     size (bytes)  file
   57752        10892      atob.zoo

-- bill
]

atob part01/01
BEGIN--cut here--cut here
begin 644 atob.zoo
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
M````````````````````````````````````````````````````````````
"_(,`
`
end
END--cut here--cut here