我們正在導入從Lotus Notes導出到dxl的項目。有些項目被列爲rawitemdata type='502'
。我發現了一些證據,這些是Mime類型,它們是Base64編碼的。這個(http://wenku.baidu.com/view/3d29abcfa1c7aa00b52acb52.html :)的幻燈片31表示他們是RFC822文本(研究這個)?如何解碼Lotus Notes Dxl <rawitemdata type ='502'>?這是Base64嗎? RFC822文本?
<item name='PostedDate'>
<rawitemdata type='502'>
DgAJAAAACAAEAAIAHgCEPVIAT3MlBERhdGU6IEZyaSwgNyBTZXAgMjAwNyAxMDo1ODoxNyAtMDQwMA==
</rawitemdata>
</item>
當我嘗試用Ruby解碼,我得到這個(注 '日期......' 十六進制後):
Base64.decode64('DgAJAAAACAAEAAIAHgCEPVIAT3MlBERhdGU6IEZyaSwgNyBTZXAgMjAwNyAxMDo1ODoxNyAtMDQwMA')
=> "\x0E\x00\t\x00\x00\x00\b\x00\x04\x00\x02\x00\x1E\x00\x84=R\x00Os%\x04Date: Fri, 7 Sep 2007 10:58:17 -040"
任何想法?我更喜歡Ruby的答案,但會對任何有幫助的事情感到滿意。
你知道是在什麼樣的項目數據?當我解碼數據時,我得到這個 「=R Os%日期:星期五,2007年9月7日10時58分17秒-040。它是TYPE_RFC822_TEXT數據。 (http://www-10.lotus.com/ldd/nd6forum.nsf/ShowMyTopicsAllFlatweb/10d98a803c0b621f852570c2006161ce?OpenDocument) –
我沒有源代碼,只有dxl。如圖所示,rawitemdata預計將成爲PostedDate。我對日期值前面的十六進制字符感到困惑。 –
我無法確切地告訴你rawitemdata中發生了什麼,但我相信TYPE_RFC822_TEXT意味着有兩個存儲值。數據表示來自RFC822數據流的標題,該數據流必須是普通的7位文本 - 即您所看到的「Date:...」部分。但數據也表示數據的存儲二進制值。由於這是PostedDate字段,因此可能會在該數據中使用TIMEDATE結構 - 但這只是8個字節,而且還有更多,並且字節值看起來太低而不能真正成爲TIMEDATE。 –