Как декодировать Lotus Notes Dxl?Это Base64?Текст RFC822? - PullRequest
0 голосов
/ 25 января 2012

Мы импортируем элементы, экспортированные в dxl, из Lotus Notes.Некоторые предметы перечислены как rawitemdata type='502'.Я нашел доказательства того, что это Mime-типы, которые закодированы в Base64.Слайд 31 этого (http://wenku.baidu.com/view/3d29abcfa1c7aa00b52acb52.html:) указывает, что это текст RFC822 (исследует это)?

<item name='PostedDate'>
  <rawitemdata type='502'>
    DgAJAAAACAAEAAIAHgCEPVIAT3MlBERhdGU6IEZyaSwgNyBTZXAgMjAwNyAxMDo1ODoxNyAtMDQwMA==
  </rawitemdata>
</item>

Когда я пытаюсь декодировать с помощью Ruby, я получаю это (обратите внимание, 'Date ...' после hex):

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"

Есть идеи? Я бы предпочел ответ с Руби, но был бы рад всему, что поможет.

1 Ответ

0 голосов
/ 26 января 2012

PostedDate - это стандартное почтовое поле Notes , которое содержит время / дату, когда сообщение покинуло почтовый файл отправителя.Поскольку все после «Date:» выглядит как действительная дата RFC822 , я думаю, что вы можете безопасно декодировать Base64 и использовать все после «Date:» в качестве значения для поля PostedDate, отбрасывая оставшиеся данные.

(Понятия не имею, почему DXL визуализировал поле таким образом. Может быть, это связано, но я не уверен.)

...