📄 read.me
字号:
Copying and Distribution
uuencode and uudecode are in the public domain. dos2unix and
unix2dos are hereby placed in the public domain. They may be shared
or copied as long as NO fee is charged for their distribution or use.
Bulletin Board Systems (BBSs) who charge membership or usage
fees may not distribute this software. Users Groups who charge
membership fees may not distribute this software. Companies who
charge distribution fees may not distribute this software.
If this program is shared with other users through ANY means,
the source code and documentation MUST accompany the executable
programs.
Warranty
Use this software entirely at your own risk.
I, Kenneth J. Hendrickson, make no warranty of any kind,
expressed or implied, including without limitation, any warranties
of merchantability and/or fitness for a particular purpose. I,
Kenneth J. Hendrickson, shall not be liable for any damages, whether
direct, indirect, special or consequential arising from a failure of
these programs to operate in the manner desired by the user. I,
Kenneth J. Hendrickson, shall not be liable for any damage to data
or property which may be caused directly or indirectly by the use
of these programs.
IN NO EVENT WILL KENNETH J. HENDRICKSON BE LIABLE TO YOU FOR
ANY DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS, OR OTHER
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF YOUR USE OR
INABILITY TO USE THESE PROGRAMS, OR FOR ANY CLAIM BY ANY OTHER PARTY.
Note on uuencode and uudecode
uuencode and uudecode are programs primarily used on Unix
systems to send binary files through the mail. I have found a good
use for them on MSDOS systems.
When you are sending files to/from another computer system
over a brain-dead network (like MERIT) that only handles 7-bit ascii
characters, and using Kermit for the file transfer (with "set file type
binary"), it takes 2 7-bit bytes to stuff 8 bits through the channel.
Effectively, the size of your file is doubled if it is not an ascii
text file.
The solution is to use a compression program (like arc, pkarc,
pkzip, etc.) on any files (BINARY or ASCII), and then uuencode them.
After compressing/archiving them, they will surely be BINARY files.
After uuencoding the archive, they will surely be ASCII text files.
The uuencoded archived (ascii) files can then be sent with kermit
through the brain-dead network at the maximum allowable speed. The
file must be uudecoded and then uncompressed/unarchived at the other
end. For Unix systems, the source code for arc is available. Pkarc
can be made to be compatible with arc with the -oct switch.
Note that uuencode increases the size of a file by 35%. This
is because 4 bytes (plus control information) are created in the output
file for each 3 bytes in the input file. What this means: if your
compression program can reduce the size of the ASCII input file by more
than 35%, you come out ahead; if your compression program does not
increase the size of the BINARY input file, you come out ahead (even
with a 35% increase in file size, because you get an effective
compression of 50% by going to ascii for the transfer through the
brain-dead network.) It is typical for programs like arc, pkarc, and
pkzip, to give compression ratios of 50% or better for most files.
How to use uuencode
Because MSDOS is somewhat brain-dead in the way it handles
input from stdin, and because uuencode must read in "binary" files
to be useful (because ordinary ascii text files can be sent directly
without any conversion), uuencode cannot be used like a Unix filter.
The input file MUST be specified on the command line. The output is
always directed to the standard output as it is on Unix systems. The
following command line will work for MSDOS systems:
uuencode filenam1.ext > filenam2.uu
filenam1.ext is uuencoded, the uuencoded file produced is filenam2.uu,
and when filenam2.uu is uudecoded, filenam1.ext will be re-created.
Note that the calling convention for uuencode on MSDOS systems is not
the same as the calling convention on Unix systems.
How to use uudecode
uudecode can take its input from a Unix-like pipe, or the
input file can be specified on the command line. The filename
(filenam1.ext) specified in the uuencoded file (filenam2.uu) is
re-created. Both of the following command lines will work for
MSDOS systems:
type filenam2.uu | uudecode
uudecode filenam2.uu
In both cases, filenam2.uu is uudecoded, and filenam1.ext (as
specified when uuencoding) is re-created.
Note on pathnames
Don't use pathnames for filenam1.ext with uuencode if the
target or the source is a MSDOS machine. This is because the section
of code in uudecode.c that handles pathnames is Unix specific, and has
been disabled for MSDOS machines. In addition, the MSDOS separator
'\' will not be understood correctly on Unix systems, and the Unix
separator '/' will not be understood corectly on MSDOS systmes. This
really should not be too much of a problem. This restriction applies
only to filenam1.ext. Pathnames can be used with filenam2.ext because
they will not be stored in the uuencoded file.
Note on \n for MSDOS vs. Unix
MSDOS uses CRLF to mark the end of a line, while Unix systems
use only a LF. If you use Kermit to transfer text files, the
translation is taken care of automatically. However, if you compress
your files and then uuencode them, and the target system does not
run the same operating system as the source system, you will have to
do the translation (for the uuencoded compressed text files) by
yourself. Two programs are provided for this purpose: dos2unix and
unix2dos.
How to use dos2unix
dos2unix can be used like a Unix filter, or the input file
can be specified on the command line. If the input is taken from a
pipe, there should not be any ^Z's in the file or MSDOS (brain-dead
as it is) will think the EOF has occured. The output is always
directed to the standard output. Both of the following command
lines will work for MSDOS systems:
type filenam1.ext | dos2unix > filenam2.ext
dos2unix filenam1.ext > filenam2.ext
In both cases, filenam2.ext is a copy of filenam1 with all ^D, ^M,
and ^Z characters removed. filenam2.ext will never be larger than
filenam1.ext. Be careful with the first type of command line; if there
are any ^Zs in filenam1.ext, then filenam2.ext will be cut short
prematurely. When in doubt, specify the input file on the command
line.
How to use unix2dos
unix2dos can be used like a Unix filter, or the input file
can be specified on the command line. If the input is taken from a
pipe, there should not be any ^Zs in the file, or MSDOS (brain-dead
as it is) will think the EOF has occured. The output is always
directed to the standard output. Both of the following command
lines will work for MSDOS systems:
type filenam1.ext | unix2dos > filenam2.ext
unix2dos filenam1.ext > filenam2.ext
In both cases, filenam2.ext is a copy of filenam1 with a ^M character
inserted before each ^J character. filenam2.ext will never be smaller
than filenam1.ext (unless a pipe is used and a ^Z is fed to unix2dos).
Be careful with the first type of command line; if there are any ^Zs in
filenam1.ext, then filenam2.ext will be cut short prematurely. When in
doubt, specify the input file on the command line.
Note on compilation
All of these *.exe executable program files were compiled with
Microsoft C v5.10 with the "/FPi87 /Sl 132 /Sp 58 /Fs /link em" switches
turned on. These programs should run on IBM compatible systems with or
without 'x87 coprocessors. If a co-processor is present, it will be
used. The source is included so you can re-compile them on your own
machine with whatever options you like. You can also examine the source
code to see how the programs work, as well as assure yourself that these
programs are virus free (as of the original release).
Files included in this release:
READ ME 9183 10-15-89 5:00p This description file
UUENCODE EXE 11601 10-15-89 5:00p Unix to Unix encode
UUDECODE EXE 12783 10-15-89 5:00p Unix to Unix decode
DOS2UNIX EXE 9785 10-15-89 5:01p Strip ^M, ^D, ^Z for Unix
UNIX2DOS EXE 9801 10-15-89 5:01p Add ^M before ^J for MSDOS
UUENCODE C 2443 10-15-89 5:00p Source code (modified for MSDOS)
UUDECODE C 3400 10-15-89 5:00p Source code (modified for MSDOS)
DOS2UNIX C 1458 10-15-89 5:00p (C) 1989 Kenneth J. Hendrickson
UNIX2DOS C 1053 10-15-89 5:00p (C) 1989 Kenneth J. Hendrickson
UUENCODE LST 9447 10-15-89 5:00p 132 column wide listing
UUDECODE LST 11451 10-15-89 5:00p 132 column wide listing
DOS2UNIX LST 4237 10-15-89 5:01p 132 column wide listing
UNIX2DOS LST 3787 10-15-89 5:01p 132 column wide listing
UUENCODE MAN 2008 10-15-89 5:00p Unix man page
UUDECODE MAN 2008 10-15-89 5:00p Unix man page
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -