【uuencode编码和解码】
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&
名称: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
执行指令后,由标准输入装置读入资料,简单地说是由键盘输入后在荧幕显示的资料,按 Crtld 键后就会被编码,输出至 file.uud 中 。由于程序是以行为处理单位,若无法跳出程序,请多按几次 Ctrld 直到程序结束为止 。
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
推荐阅读
- 什么可亲成语
- 锤子坚果Pro 2和坚果Pro哪个好?锤子坚果Pro 2和坚果Pro有什么区别?
- E738和D508的功能比较
- 坚果Pro2和坚果Pro有什么区别?坚果Pro2和坚果Pro买哪个好?
- 明清24位皇帝顺序 明清24位皇帝正确顺序
- 三星E628和三星X648比较
- 10代i7和9代i7的区别
- 删除和拉黑的区别
- 瓦妮莎和马龙什么关系
- ipad和iphone怎么隔空投送