複製鏈接
請複製以下鏈接發送給好友

dime

(直接網際消息封裝格式)

鎖定
直接網際消息封裝格式,即DIME(Direct Internet Message Encapsulation)是一種現代計算機網頁程序編寫格式。
中文名
直接網際消息封裝
外文名
dime
類    型
計算機網頁程序編寫格式

目錄

dime基本信息

直接網際消息封裝(Direct Internet Message Encapsulation,即DIME)格式提供了一種簡單而又標準的機制,這個機制可以把多文本(multiple text)和二進制數據記錄組合到一個單一的二進制流中,記錄可以以一種高效解析且易於實現的獨立編碼方式保存。你可以在這兒找到DIME規範。

dime優點

DIME優於MIME和raw XML,當然,其它系統也規定了多文本和二進制數據合併的方案,但是它們都僅對某方面的問題進行了優化,這就使得它們在非電子郵件通信、應用內部通信的場合下不盡完善。
MIME由2045到2049號Internet標準(草案)所定義的多用途網際郵件擴充協議(Multipurpose Internet Mail Extensions 即MIME)是目前最顯眼的可選項。MIME是電子郵件文件附件的標準,它僅僅是文本和二進制部分的消息。因此,MIME在內部把文本二進制部分轉化為全文本格式。這種轉化不僅使得二進制部分轉化後的長度大大增加,還導致了交叉平台上的字符集編碼問題。
Raw XML Raw XML提供了另外一種表示文本中二進制信息的機制――CDATA類型。但是CDATA塊不能被XML解析器解析,因此它不符合XML文檔“好的組織(well-formedness)”的要求。把二進制數據轉換到模64(base64)或者類似的進行類似的編碼後保存到CDATA塊,這樣的CDATA塊會使得你的XML組織的很差。
DIME與MIME和XML文檔中的CDATA部分不同,DIME把文本二進制部分都轉換成單一的二進制消息。把二進制部分按它原來的二進制方式保存可以免除DIME解析器從文本中恢復二進制編碼的開銷和複雜度,而這些開銷和複雜度是MIME和CDATA/XML所必不可少的。確實,DIME部分中的簡單長度定義分界(simple length-delimited)性質使得DIME解析器可以不用考慮二進制數據的內部就可以分開記錄,而過去這麼做需要初始二進制頭。
程序清單A給出了用一個免費可用的Java DIME實現來創建DIME消息的簡單代碼。頭幾行代碼用一個FileOutputStream對象做為輸出源創建了一個DimeGenerator對象。代碼的第二和第三部分分別加入了一個從磁盤文本文件創建的DIME記錄。請注意MEDIA_TYPE TypeNameFormat的用法,還要注意“text/plain”和“image/gif”MIME類型用來指示DIME記錄的內容。MIME類型僅是DIME規範指出的可以提供DIME記錄所保存數據信息的方法中的一種,但是可能是最有用的一種了。
清單A中代碼的最後一部分結束DIME消息並關閉輸出數據文件。DimeGenerator類可以使用所有I/O操作的流,這樣就消除了消息建立期間用來保存DIME記錄所需要使用的大量內存。還要注意addRecord方法(本例調用兩次)所用到的最後一個參數(布爾型)。如果參數取值為“真”,代表添加到DimeGenerator的記錄是最後一個記錄,如果再添加記錄就會導致IllegalStateException(非法狀態例外)。