Разъяснение MSG на PidTagInternetCodePage, PidTagMessageCodepage, PidTagStoreSupportMask - PullRequest
0 голосов
/ 26 октября 2018

Официальная документация для состояний формата MSG

  1. PidTagStoreSupportMask

указывает, есть ли свойства строки вMSG-файл в кодировке Unicode или нет.STORE_UNICODE_OK Устанавливается, если строковые свойства имеют кодировку Unicode.

PidTagMessageCodepage

указывает кодовую страницу, используемую для кодирования строковых свойств, отличных от Unicode, для этого объекта сообщения

PidTagInternetCodepage

указывает кодовую страницу, используемую для свойства PidTagBody или свойства PidTagBodyHtml

Исходя из вышеизложенного, мое пониманиезаключается в том, что если маска юникода установлена, то все свойства String имеют кодировку Unicode т.е. UTF-16LE. Если маска не установлена, то PidTagMessageCodepage используется для декодирования всех свойств String в сообщении.На основании документация не-Юникод и Юникод-свойства не могут существовать вместе.

Итак, какова цель страницы PidTagInternetCodepage?Он используется для декодирования body или bodyhtml , которые имеют типы ptystring.

Если сообщение имеет маску хранилища Unicode, тогда

Q1.Декодируем ли мы PidTagBody / PidTagBodyHtml, используя Unicode или PidTagInternetCodepage?

Если сообщение не является Unicode, тогда

Q2.Декодируем ли мы PidTagBody / PidTagBodyHtml, используя PidTagMessageCodepage или PidTagInternetCodepage?

Q3.Используем ли мы юникод, когда установлена ​​маска магазина, и когда это не первая попытка PidTagInternetCodepage, а затем PidTagMessageCodepage для PidTagBody / PidTagBodyHtmlit?

Q4.Что нам делать, если их нет ... по умолчанию 1252?

1 Ответ

0 голосов
/ 26 октября 2018

PR_BODY ничем не отличается от любого другого строкового свойства (например, PR_SUBJECT) - оно входит в разновидности PT_STRING8 и PT_UNICODE.

PR_HTML, с другой стороны, является PT_BINARY и хранит данные в двоичном видебайт блоб.Большинство тел HTML включает кодировку как часть заголовков HTML, но если ее нет, вам нужно будет использовать PR_INTERNET_CODEPAGE.

...