歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> uuencode編碼和解碼

uuencode編碼和解碼

日期:2017/2/28 11:27:16   编辑:關於Unix


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”的一行結束.
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
Copyright © Linux教程網 All Rights Reserved