昨天碰到uuencode的東西,找了一下相關的東西。 uuencode 是古老時代的東西,現在都被MIME所取代了。windows上一定也有相關的uuencode編解碼的工具,當我在高中的時候還有看到uuencode的工具,不過昨天隨便找了一下,沒找著,就重開機到Linux去,想說直接打uuencode指令,來試看看,誰知道Ubuntu Linux預設並沒有安裝這個套件。

使用apt-get install uuencode也沒辦法找到套件,原來是包含在sharutils這個套件裡頭,所以說要在Ubuntu Linux安裝、使用 uuencode的話,請打以下指令:

sudo apt-get install sharutils

在安裝完畢之後,當然就針對binary檔案來作encode

uuencode foo.jpg bar.jpg

然後出現的格式大致如下:

begin 644 bar.jpg
M_]C_X“02D9)1@`!`@“9`!D“#_[``11'5C:WD``0`$````/```_^X`#D%D
M;V)E`&3``````?_;`(0`!@0$!`4$!@4%!@D&!08)"P@&!@@+#`H*"PH*#!`,
M#`P,#`P0#`X/$`\.#!,3%!03$QP;&QL<'Q\?'Q\?'Q\?'P$'!P<-#`T8$!`8
M...略
M)D;5J]EWOTFE,TUF<2CD*2(45551R[^.O*+*J@:WY=LI!>N6_J<%+]:8R:\E
M&8Q1=->7^$!,”.;Q;U.]BPYDFD/,[MXDZF6,#0&M%`%'.<7&IVKSUD
ML4T1-$31$T1-$3AM]NB)HB:(FB)HB:(FB)HB:(FB)HB:(FB)HB:(FB)HB:(F
2B)HB:(FB)HB:(FB)HB:(O__9
`
end

uuencode編碼過後看起來就像上面這樣,主要就是begin開頭,中間就是編碼過的檔案,以M作為每一行的開頭,然後以end作為檔案的結尾。如果我把這個檔案直接貼上然後mail給你,如果你的mail client有支援uuencode的話,那麼你將會看到一個bar.jpg的附檔,當然,沒有內文。

來看一下Squirrelmail的一個叫get_uuencode的plugin裡面判斷是否為uuencode Message的一段regular expression

$uu_file = ‘/((begin|begin-base64)’ . ‘\s+’ . ‘[0-7]{3}’ . ‘\s+’ .
‘([^\n]+))’ . ‘\n’ . ‘(.+?)’ . ‘\n’ . ‘(end|====)’ . ‘/s’;

大家看了這一段應該就比較知道如何去判別uuencode的檔案格式是否正確,不過基本上,uuencode應該用不太到了 XD