Официальная документация для состояний формата MSG
- 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?