回覆列表
-
1 # 使用者1842400150433624
-
2 # 5605320
電子郵件程式碼是指ASCII碼格式的文字資訊,ASCII碼為7位程式碼。非ASCII格式的檔案在傳送中必須經過編碼工具編為相應的ASCII碼進行傳輸,在接收到後接收端再根據編碼規則進行解碼。
若非如此就很難在傳輸過程中出現編碼截位的問題,導致收信方出現亂碼。
電子郵件程式碼是指ASCII碼格式的文字資訊,ASCII碼為7位程式碼。非ASCII格式的檔案在傳送中必須經過編碼工具編為相應的ASCII碼進行傳輸,在接收到後接收端再根據編碼規則進行解碼。
若非如此就很難在傳輸過程中出現編碼截位的問題,導致收信方出現亂碼。
E-MAIL一般在傳送過程中都要對檔案進行編碼,因為E-MAIL只能傳送ASCII碼格式的文字資訊,ASCII碼為7位程式碼。非ASCII格式的檔案在傳送中必須經過編碼工具編成相應的ASCII碼進行傳輸,在接收到後接收端再根據編碼規則進行解碼。若非如此就很難在傳輸過程中出現編碼截位的問題,導致收信方出現亂碼,特別是中文內碼的文字,屬於8位程式碼,並非標準的ASCII碼形式,由於國內通行的大部分郵件伺服器都能夠處理GB內碼檔案,所以可以直接傳送檔案而不需要編碼,但如果要將中文郵件發到國外或在某些不支援8位(非標準ASCII碼格式)的某些郵件主機上傳輸,就會產生亂碼。具體的說就是在直接傳送中文或非ASCII碼的郵件時郵件主機無法處理,便會把檔案中每個字元的第八位都濾掉(截去第八位)從而使一些資訊和原始資訊截然不同,或郵件完全損壞成為亂碼無法閱讀。這也是目前造成郵件亂碼的主要原因之一。而如果對郵件進行七位編碼然後進行傳輸解碼,就能解決截位亂碼現象,使郵件準確無誤。目前E-MAIL中一般採用UU、MIME、BINHEX三種編碼標準,下面我們就來了解一下這幾種標準。
一、UU編碼(unix-to-unixencoding)
uuencode和uudecode原來是早期unix系統使用的編解碼程式,其內部所用演算法為Base64後來被改寫成為在DOS下執行的可執行程式。
UU使用方法為:在進行郵件傳送前,在dos方式下先用uuencode.exe程式將原檔案編碼成ASCII檔案,然後再進行傳送。收件人在接到後再用uudecode.exe程式將檔案還原。
這是DOS下的編碼程式。在windows下類似的程式還有wincode和winzip等,wincode的使用原理同DOS下的uuencode、uudecode相同,只是利用了windows的介面,從而使操作更為簡便。wincode程式除支援UU編碼外,同時支援mime,Binhex等編碼格式,應用範圍頗為廣泛。
我們以上所介紹的UU編碼並非只能對中文進行編碼,任何你要寄出的檔案包括.exe等二進位制檔案都可按照編碼——>傳送——>收信——>解碼還原的步驟進行傳送。
二、MIME(MultipurposeInternetMailExtention)標準的編碼
UU編碼解決了E-MAIL只能傳送ASCII檔案的問題,但我們可以從編解碼的過程看出其運用並不很方便,因而隨後又發展出一種新的編碼標準即MIME(MultipurposeInternetMailExtention)譯作“多媒體郵件傳送模式”。顧名思義,這種編碼標準支援傳送多媒體檔案,可在一封電子郵件中附加各種格式的檔案一起傳送。
其實MIME定義的是一種編碼規格,亦或可以說是一類編碼的統稱,能夠符合MIME標準的編碼方式並非一種,而只要符合MIME規格便可順利傳送,在MIME定義下有兩種編碼方式Base64和QP(Quote-Printable),QP的規則是對資料中的7位無須重複編碼,僅將8位資料轉成7位,QP編碼適用於非ASCII碼的文字內容,例如我們的中文檔案。而Base64的規則是將整個檔案重新編碼成7位,通常適用於傳送二進位制檔案。
一般編碼方式不同會影響編碼之後的檔案大小,而採用MIME標準編碼的E-MAIL軟體一般能自動判別你的郵件是採用何種編碼,然後自動選擇用QP或Base64來解碼。
MIME標準現已成為Internet電子郵件編碼的主流。它的好處是以物體作為包裝方式,可將多種不同檔案一起打包後傳送。發信人只要將要發的檔案選好,它在傳送時即時編碼,收信人在收信時同時也是即時解碼還原。完全自動化,非常方便。當然先決條件是雙方的郵件軟體都必須具有這項功能。使用這種方式發、收信雙方所要做的工作就顯得非常簡單了,只須選定——>寄出,其它的全部由電子郵件軟體自動完成。由於MIME的方便、可靠性,愈來愈多的電子郵件採用這種方式,我們最常見的NetcapeMail,InternetMail等都是採用MIME方式。
三、BINHEX編碼較少見,主要用在MAC機上,PC機上很少見,在此不做講解。