section 1 of uuencode 5.21 of file myself by R.E.M.
begin 644 myself
MI&JN8:9NH4FGVJQ/L>>I<Z=GH4&KW+"JO[.FL[[WMWRF8J:YIE:D:JYAIMN
G=VJ2VLM"A0:?�JQYJ:SO72[4+%ZL+6J0J3-H4/-4
`
end
sum -r/size 32014/129 section (from "begin" to "end")
sum -r/size 43769/74 entire input file
其中第一行的「section 1 of uuencode 5.21 of file myself by R.E.M.」以及最後二行「sum -r/size 32014/129 section (from "begin" to "end")」「sum -r/size 43769/74 entire input file」只是这个软体的设计者的加注说明,不是很重要,最重要的是在「begin 644 myself」与「end」之间的文字,那就是我们原文编码後所呈现的模样。您可以把它copy到您的E-mail软体中,加上收信人的E-mail address就可以把它寄出了。要注意的是您必须让这一行「begin 644 myself」与「end」以及它们之间所有的文字都完整的出现在您的mail中,对方使用uudecode时才能根据其「begin」、「end」自动抓取内文而还原第一行「begin 644」之後的档名,也就是我们原来的那个档案。
主功能表中的「File」选项,则让您选择是要encode还是要decode。选择encode後,它会寻问您Input file,并出现树状目录让您选择。点选之後,则出现一行「Enter a VALID DOS filename」,请您输入encode後要将档案存成何种档名,其内定值即是将您的原来档名加上UUE的副档名。而进行decode时,也只要在「File」中选择decode,即出现树状目录让您选择您要decode的档案,点选之後同样出现「Enter a VALID DOS filename」,请您输入要存档的档名。一般会根据其原文中第一行「begin 644 filename」中的filename做为预设值,您也可以更改它,另存新档。uuencode在编码时,会在这第一行自动记录原来未编码时的档名。
UU编码解决了mail只能传送ASCII档案的问题,但这种方式其实并不是很方便,而後又发展出一种称之为MIME的编码规格,其全名是Multipurpose Internet Mail Extentions,一般翻译成「多媒体传送模式」。顾名思义,它标榜的就是可以传送多媒体型式的档案,可以在一封mail中附加各种型式档案一起送出。
function decode_mime_string ($string) {
$pos = strpos($string, '=?');
if (!is_int($pos)) {
return $string;
}
$preceding = substr($string, 0, $pos); // save any preceding text
$search = substr($string, $pos+2, 75); /* the mime header spec says this is the longest a single encoded word can be */
$d1 = strpos($search, '?');
if (!is_int($d1)) {
return $string;
}