uuencode是以前unix下常用编码方式应用于UUCP(unix to unix copy),通过串行通讯传
输二进制文件.base64属于MIME(多用途国际互联网
邮件扩展)编码,与uuencode不是同一个范畴的,MIME主要应用于邮件,Uuencode主要应用
在邮件和新闻组.
uuencode的开头是:
begin <模式> <文件名>
<数据>
end
编码算法为不断地用3个字节数据列成一组(不足3个字节以零补齐)然后 此24位数据分
为
4组,每组6位,再将得到的6位二进制数映射到ASCII码32~95之间的字符,而每行以M
开头(表示32+45),60个字符一行(包括”M”),最后一行以32+N 的ASCII字符开头,N
为最后一行编码的输入字节数.编码以一个只含一个空格的一行和只含”end”的一行结束.
从前一部分看和base64没有什么区别(关于base64的编码和解码请参见
http://www.csdn.net/develop/read_article.asp?id=8843),都是将3个字符换成4个字符,不同的是base64由自己的base64码表,而uuencode是直接使用ascii码做码表.
eg.
begin .....
M1&%T93H(“'@(“'@(#0O-2'\Y-2'Y.C,S.C$P($%-#0I&
M2&5N
M;VIE=VIE8V1E8VJD92!P
M;W(@8F%S938T(‘1R86YS9F5R(&9O
名称:uuencode
使用权限:所有使用者
使用方式:uuencode [-hv] [sourcefile] targetfile
说明:
早
期在许多 unix 系统的传送协定只能传送七位元字元,并不支援二进位档案,像中文文字档就有用到八位元,所以无法完整地送到另一架机器上。
uuencode 指令,可以将二进位档转换成七位元的档案,传送到另一架机器上再以 uudecode
还原。最常见的是用在以电子邮件传送二进位档。uuencode 编码后的资料都以 begin 开始,以 end 作为结束。
begin 644 decode.dat
(内容编码)
`
end
begin 后的 644 是 unix 档案的调用权限代码。而 decode.dat 则是还原后的档名。
参数:
h 列出指令使用格式 (help)
v 列出版本讯息 (version)
范例:
将 source.dat 编码后存成 file.uud 档。由于 uuencode 会将编码后的资料在荧幕上列出,所以必须将资料导入 file.uud 中,而 target.dat 是 file.uud 还原后的档案名字,而不是编码后的档案。
uuencode source.dat target.dat > file.uud
执行指令后,由标准输入装置读入资料,简单地说是由键盘输入后在荧幕显示的资料,按 Crtl + d 键后就会被编码,输出至 file.uud 中。由于程序是以行为处理单位,若无法跳出程序,请多按几次 Ctrl + d 直到程序结束为止。
uuencode target.dat > file.uud
类似上一个指令,不过使用一个导入的技巧,将 source.dat 压缩后的资料传送给 uuencode 处理之后,存成 file.uud 档。 file.uud 档还原后就是 source.dat.Z 档。
compress -c source.dat | uuencode source.dat.Z > file.uud
显示版本讯息后,结束执行程序。
uuencode -v
阅读(1985) | 评论(0) | 转发(0) |