home *** CD-ROM | disk | FTP | other *** search
/ The First Hungarian Family / The_First_Hungarian_Family_CD-ROM.bin / internet / coddecod / uuexecod / uuser.txt < prev    next >
Text File  |  1995-06-01  |  16KB  |  401 lines

  1. This file contains user documentation for the UUENCODE/DECODE pair.
  2.  
  3.  
  4. SUMMARY:
  5.  
  6. This package encodes and decodes "UUencoded files".  UUencoding is a
  7. popular technique for reliably sending binary files over communications
  8. systems.  Common binary files are "zip files" produced by pkzip, gif and
  9. jpg picture files, and doc files produced by word processors.  To send a
  10. binary file, UUencode the file and send it out with your favorite e-mail
  11. or communications program.  To receive the file, get the UUencoded
  12. version to your PC and UUdecode it.
  13.  
  14. There are many public domain UUencoders and decoders.  This pair was
  15. originally written in 1987 and has been kept up to date since; it is
  16. designed to handle just about anything you can throw at it with ease.
  17.  
  18. For more details on how to use the UUENCODE and UUDECODE programs, read
  19. this document.  For a technical description of the UUencode process, see
  20. UUTECH.TXT.
  21.  
  22.  
  23. SIMPLE, COMMON USE:
  24.  
  25. To decode a file, download it to your PC.  Give the filename an
  26. extension of ".UUE".  (ie: FOO.UUE); this aids you in identifying it as
  27. a uuencoded file.  If the file was sent out in multiple parts, put the
  28. part number on the end of the file name (ie: FOO1.UUE, FOO2.UUE, etc.).
  29.  
  30. Then enter: UUDECODE FOO
  31.  
  32. UUdecode will scan for variations of the name.  The name of the file
  33. to decode into was saved in the encoded file when it was originally
  34. created; so you do not have to supply it.
  35.  
  36. To encode a file, enter: UUENCODE filename
  37.  
  38. There are all kinds of options, which are described below; but you
  39. should ignore them if the above works for you.
  40.  
  41.  
  42. DISCLAIMER:
  43.  
  44. This program was written by me, Richard Marks, and it is copyrighted.
  45. Please see copyright notice in UUTECH.TXT.
  46. The program is freeware; but if used in a for profit situation, please
  47. contact me.
  48.  
  49. ************************************************************************
  50.  
  51. UUENCODE:
  52.  
  53. UUencode a file to send it out over a communications system (e-mail).
  54. Most e-mail systems limit the size of a single file.  A typical limit is
  55. 64 thousand bytes.  UUencode splits the encoded file into parts which
  56. can be sent out one at a time.  Thus a very large file gets sent out as
  57. a number of smaller files that are within size limits.
  58.  
  59. UUencode can automatically put checksum characters in the encoded file
  60. so the decode program can do validation.  (Modern communications systems
  61. are so reliable that one rarely sees a checksum error when decoding, but
  62. I still think it is a good idea to leave checksum-ing turned on just to
  63. be sure there are no problems.  This adds at most a few seconds to
  64. encoding and decoding times.)
  65.  
  66. The command:
  67.  
  68.     UUENCODE  [options]  input-file  [output-file]
  69.  
  70.     Popular options:
  71.        -c     - Do not create any checksums. (Checksums recommended!)
  72.  
  73.        -s     - Do NOT split the encoded file into sections.
  74.  
  75.        -s nnn - Split the encoded file into sections of nnn lines.
  76.                 Default is split into 950 line sections.
  77.  
  78.        -h nnn - Leave room in first section for nnn header (extra
  79.                 comment) lines.
  80.  
  81.        -x     - Use XX encoding (see below).
  82.  
  83.        -6     - Use Base64 MIME compliant encoding (see below).
  84.  
  85.     Less Popular options:
  86.        -o     - write to standard output, not to a file.
  87.                 No splitting is done in this case.
  88.  
  89.        -L     - Insert checksums on every line.  This is an old option
  90.                 for use with unreliable communication systems.
  91.  
  92.        -t     - Write the mapping table that was used into the encoded
  93.                 file (see below).
  94.  
  95.        -u     - Unix format file (Unix end of line character).
  96.  
  97.  
  98. INPUT FILE NAME:
  99.  
  100. The input file name must be supplied.  It is the name of the file to be
  101. encoded.  The file name and extension, but not the drive or path, is put
  102. in the encoded file.  This name is used by UUdecode to recreate a file
  103. with the same name.
  104.  
  105.  
  106. OUTPUT FILE NAME (of the encoded file):
  107.  
  108. This is an optional parameter.  Normally it is not needed.
  109.  
  110. Naming can get a little complicated if you are creating split files.  So
  111. let's take things in little steps.  (The problem is that in automated
  112. systems, there is a need for a variety of ways to specify file names.)
  113.  
  114. First, the normal case is with no output file name supplied:
  115.  
  116.         Output file name is input file name, with a ".UUE" extension.
  117.         Output is to the current directory; the drive & directory
  118.         of the input file is ignored.
  119.  
  120.         UUENCODE FOO.BAR  creates FOO.UUE
  121.  
  122. If you supply an output file name, it is used.  If the output file name
  123. you supply does not have an extension, ".UUE" is used.
  124.  
  125.         UUENCODE FOO.BAR  ABC.DEF  creates ABC.DEF
  126.         UUENCODE FOO.BAR  ABC      creates ABC.UUE
  127.         UUENCODE FOO.BAR  ABC.     creates ABC.
  128.  
  129. Note the subtly of the last example.  The "." after "ABC" is an
  130. extension of all spaces; so there is no extension on the output file.
  131. This differs from the second example where, since there is no ".", the
  132. default extension of ".UUE" is supplied.
  133.  
  134. Normally output goes to the directory you are in when you enter the
  135. UUencode command (the current directory).  This happens even if the
  136. input file is in some other directory.  But if a drive and/or directory
  137. is specified for the output file, it is used.
  138.  
  139. If you want to use the input file's drive & directory, use a directory
  140. of *\ for the output file.  The input file's drive & directory is used.
  141.  
  142.           UUENCODE ZZZ\FOO.BAR         creates FOO.UUE
  143.           UUENCODE ZZZ\FOO.BAR  ABC    creates ABC.UUE
  144.           UUENCODE ZZZ\FOO.BAR  *\ABC  creates ZZZ\ABC.UUE
  145.           UUENCODE ZZZ\FOO.BAR  *\     creates ZZZ\FOO.UUE
  146.  
  147.  
  148. SPLIT FILES and OUTPUT FILE NAMES:
  149.  
  150. UUencode checks the size of your file, if it is too small to split, the
  151. naming convention above is used.
  152.  
  153. Normally UUencode splits encoded files by putting a number after the
  154. file name.
  155.          UUENCODE FOO.BAR           creates FOO1.UUE, FOO2.UUE, etc.
  156.          UUENCODE FOO.BAR  *.ZZZ    creates FOO1.ZZZ, FOO2.ZZZ, etc.
  157.          UUENCODE FOO.BAR  ABC.ZZZ  creates ABC1.ZZZ, ABC2.ZZZ, etc.
  158.  
  159. Another popular way to name split files is with the extension of .001,
  160. .002, etc.  If you specify an output file extension of .001, then this
  161. naming convention is used.
  162.  
  163.         UUENCODE FOO.BAR  ABC.001   creates ABC.001, ABC.002, etc.
  164.         UUENCODE FOO.BAR    *.001   creates FOO.001, FOO.002, etc.
  165.  
  166. (I personally prefer to use the ".UUE" extension so I can determine that
  167. this is a UUencoded file from the file name; but some prefer the .001
  168. naming convention.)
  169.  
  170.  
  171. XXENCODING (the -x and -t options):
  172.  
  173. UUencode maps a binary file into a certain character set.  This
  174. character set goes through most communications systems with no problems.
  175. However some communications systems change some of the special
  176. characters used by UUencode.  For example the "{" character is changed
  177. into a "<" on some systems.
  178.  
  179. If you are having this sort of problem mailing to a friend, read on.
  180.  
  181. One could argue that it was a bad decision for UUencode to use
  182. characters that may be changed.  But many years ago, it was hard to find
  183. enough characters that could go over all communications systems
  184. unchanged.  Maybe 15 years ago, the characters that UUencode uses were
  185. a good choice; but today there are other options.
  186.  
  187. The XXencode option, is a better choice.  It uses characters that
  188. usually get through with no problems.  (It uses some lower case
  189. characters; lower case was not common on all computers 15 years ago.)
  190. Unfortunately, XXdecoders are not as commonly available as UUencoders.
  191. If the person you are mailing to has an XXdecoder, try the "-x" option
  192. on UUencode.  My UUdecoder automatically detects and handles XX encoded
  193. files.  Note that the default file extension is .XXE for XX encoded
  194. files.
  195.  
  196. Another option is to send out the mapping table that UUencode uses.
  197. Then whatever gets changed, gets changed in the mapping table and in the
  198. data, so the decode will decode correctly.  If the person you are
  199. mailing to has a UUdecoder that accepts mapping tables, try the -t
  200. option on UUencode.  You can use -x and -t together, but there is no
  201. reason to do this.  My UUdecoder handles mapping tables.  Note that if a
  202. file is changed, UUdecode will report an input file checksum error.
  203. This is OK as long as it does not report an output file checksum error
  204. (what comes out is the important thing).
  205.  
  206. Base64 (MIME Compliant) encoding:
  207.  
  208. There is a new generalized Mail system (MIME) that can use a variety of
  209. encoding techniques.  These include UU, XX, and a new slightly more
  210. efficient encoding method called Base64.  The -6 option enables this
  211. form of encoding.  It also disables all checksums and the table option.
  212.  
  213. Do not use this mechanism unless you are certain that the recepiant can
  214. handle it.  MIME decoders are not popular !
  215.  
  216. My uudecoder can accept Base64, but to make a little money, it is a
  217. $10 shareware option.  Please see my address below.
  218.  
  219. ************************************************************************
  220.  
  221. UUDECODE:
  222.  
  223. UUdecoding is the inverse of UUencoding.  The input is a UUencoded file
  224. or a several split UUencoded files.  The output is what the original
  225. UUencode started with.
  226.  
  227. This UUdecode automatically checks for just about everything.  It
  228. automatically handles split files, checksums, files packaged with the
  229. Unix 'sed' program, and UU or XX encoding.  But more importantly, over
  230. the years I have encountered many different minor problems and
  231. eccentricities of various communications systems.  (Even CompuServe and
  232. GEnie do, on occasion, insert some weird stuff in the middle of your
  233. files.)  This UUdecode handles all this sort of stuff.
  234.  
  235. In most cases you can just download a whole set of files as:
  236.      FOO1.UUE, FOO2.UUE, etc.
  237. then just enter:
  238.      UUDECODE FOO
  239. with no editing or anything else and "poof" the thing will decode.
  240.  
  241. The majority of decode problems are related to the PC learning curve
  242. (file naming and directories) or to downloading problems.  However
  243. sometimes you will have a problem situation which occurs when decoding
  244. files from one particular site.  This may require special procedures for
  245. handling files from just that site.
  246.  
  247. The typical site related problem is caused by a non-standard UUencoder.
  248. I have seen a lot of encoded files, but if you think there is a problem,
  249. please contact me.  (Contact info is at the end of this writeup.)
  250.  
  251. The command:
  252.  
  253.     UUDECODE  [options]  input-file  [output-file]
  254.  
  255.     popular options:
  256.         none - normally you do not use any options with UUdecode
  257.  
  258.  
  259.     less popular options:
  260.         -c/C - do not do any checksum testing.  If upper case "C",
  261.                checksum testing is done on the output file but not
  262.                on any input files (see below)
  263.  
  264.         -L   - do not do line level checks (see below)
  265.  
  266.         -s   - do not handle split files
  267.  
  268.         -i   - take input from stdin (implies -s)
  269.  
  270.         -u/x - use UU or XX decoding, do not do automatic analysis
  271.  
  272.  
  273.     options for use in automated systems (see UUTECH.TXT):
  274.         -e/E - call .bat file when decoding complete.
  275.  
  276.         -q   - quiet operation (no beeps)
  277.  
  278.         -y   - force "yes" response to all prompts.
  279.  
  280.         -y   - force "no" response to all prompts.
  281.  
  282.         -z   - use specific "cut" line.
  283.  
  284. Options can be entered in upper or lower case unless, like for c/C,
  285. there is a specific meaning for each case.
  286.  
  287.  
  288. CHECKSUM TESTING:
  289.  
  290. Normally you will want to run UUdecode with all checksum options on.
  291.  
  292. Occasionally you will encounter a file with junk appended to lines and
  293. UUdecode will display messages stating something is wrong with a
  294. specific line.  You may then accept or reject the line.  If you accept
  295. all the supposedly invalid lines and if the resultant file proves
  296. correct, run UUdecode with the -L option to suppress these errors.  Also
  297. let me know of the details as this is some unknown UUencoder that I want
  298. to handle.  See the "contact" section at the end of this document.
  299.  
  300. Some UUencoders insert checksum information in the encoded file.
  301. Checksum are a way to check the bits at a low level to make sure the
  302. resultant output file and the encoded input files are valid.  In many
  303. cases if the input file is bad, the output file is also bad.  But
  304. frequently the problem with the input file does not affect the output
  305. file.  If you get messages about checksum errors on input files and the
  306. output file is correct, run UUdecode with the -C (upper case) option to
  307. turn off input file checksum tests.
  308.  
  309. It is possible, but unlikely, that the output file may have checksum
  310. errors and still be acceptable.  You can turn off all checksum testing
  311. with the -c (lower case) option.  Also note: -C or -c imply the -L option.
  312.  
  313. FILE NAMING:
  314.  
  315. INPUT FILE NAME:
  316.  
  317. The problem with input file names is that you may be working with split
  318. files.  Perhaps file FOO.EXE is encoded in two parts and you have
  319. downloaded them as FOO1.UUE and FOO2.UUE.  If you supplied an input file
  320. name of FOO1.UUE, then UUdecode would find this file, decode it and go
  321. to FOO2.UUE automatically.
  322.  
  323. However, most users, myself included, have the mind set that they are
  324. working with file FOO and "forget all this other stuff please".  To
  325. handle this situation, UUdecode scans for several variations of the
  326. input file name you supply.
  327.  
  328. If you supply a file name with an extension, FOO.XYZ, that file name is
  329. used.  If not found, then UUdecode puts the number '1' after the file
  330. name (FOO1.XYZ) and UUdecode tries again.
  331.  
  332. The more common case is where just the file name, with no extension is
  333. supplied:
  334.         UUDECODE FOO
  335.  
  336. UUdecode tries the files in the following order:
  337.  
  338.         FOO.UUE
  339.         FOO.XXE         xx encoded file
  340.         FOO1.UUE
  341.         FOO1.XXE
  342.         FOO.001
  343.         FOO.01
  344.         FOO.1
  345.         FOO.
  346.         FOO1.
  347.  
  348. This may seem complicated, but it goes quickly.
  349.  
  350. A drive and path may also be supplied:
  351.  
  352.         UUDECODE C:\MYDIR\FOO
  353.  
  354. All the above rules apply.  But the given drive & directory is scanned.
  355.  
  356.  
  357. OUTPUT FILE NAME:
  358.  
  359. Normally the name of the output file is obtained from within the encoded
  360. file; it was put there when the file was encoded.  The decoded file is
  361. recreated with this file name.  The file is put into the current
  362. directory (the directory from which the UUdecode command is executed).
  363.  
  364. There are several conventions to alter this.
  365.  
  366. If you want to specify a specific output file name, optionally with
  367. drive and directory, specify it as the second file on the command line:
  368.  
  369.         UUDECODE FOO  c:\ABC\MYOUT.XXX
  370.  
  371. If you want to use the name from within the encoded file, but with a
  372. specific drive and directory, use the drive:directory with a '*' as the
  373. file name:
  374.  
  375.         UUDECODE FOO  c:ABC\*
  376.  
  377. If you want to use the drive and directory of the input file, use a '*'
  378. as the directory name:
  379.  
  380.         UUDECODE c:ABC\FOO   *\             file name from encoded file
  381.         UUDECODE c:ABC\FOO   *\NAME.NEW
  382.  
  383. ************************************************************************
  384.  
  385. CONTACTING THE AUTHOR:
  386.  
  387. You can mail me:
  388.         Richard Marks
  389.         931 Sulgrave Lane
  390.         Bryn Mawr, PA  19010
  391.         USA
  392.  
  393. If you encounter a problem I will need to see exactly what you are
  394. working with.  Please send me a diskette with whatever you think is
  395. important.  You can put a 3 1/2" diskette in an envelope with no special
  396. precautions and a single stamp.
  397.  
  398. You may telephone me at (610) 525-8993.  I am usually home after 7PM and
  399. stay up till 1AM - US Eastern Time; it is OK to call then.
  400.  
  401.