在PidTagInternetCodePage,PidTagMessageCodepage,PidTagStoreSupportMask上的MSG澄清 [英] MSG Clarification on PidTagInternetCodePage, PidTagMessageCodepage, PidTagStoreSupportMask

查看:140
本文介绍了在PidTagInternetCodePage,PidTagMessageCodepage,PidTagStoreSupportMask上的MSG澄清的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

官方文档 MSG格式说明

  1. PidTagStoreSupportMask

指示.msg文件中的字符串属性是否为Unicode编码. STORE_UNICODE_OK设置字符串属性是否为Unicode编码.

indicates whether string properties within the .msg file are Unicode-encoded or not. STORE_UNICODE_OK Set if the string properties are Unicode-encoded.

  1. PidTagMessageCodepage

指定用于对该Message对象上的非Unicode字符串属性进行编码的代码页

specifies the code page used to encode the non-Unicode string properties on this Message object

  1. PidTagInternetCodepage

表示用于PidTagBody属性或PidTagBodyHtml属性的代码页

indicates the code page used for the PidTagBody property or the PidTagBodyHtml property

基于上述我的理解是,如果设置了Unicode掩码,则所有字符串属性均为文档非Unicode和unicode属性不能同时存在.

Based on the above my understanding is that if the unicode mask is set then all String properties are unicode encoded i.e UTF-16LE If the mask is not set then PidTagMessageCodepage is used to decode all String properties in the message. Based on the documentation non-unicode and unicode properties cannot exist together.

那么,PidTagInternetCodepage的目的是什么?它用于解码正文 bodyhtml ,其类型为ptystring.

So, what is the purpose of the PidTagInternetCodepage ? It is used to decode the body or bodyhtml which have types ptystring.

如果邮件具有unicode存储掩码,则

If a message has the unicode storemask then

Q1.是否使用unicode或PidTagInternetCodepage解码PidTagBody/PidTagBodyHtml?

Q1. Do we decode the PidTagBody/PidTagBodyHtml using unicode or PidTagInternetCodepage ?

如果消息是非unicode,则

If a message is non-unicode then

Q2.我们是否使用PidTagMessageCodepage或PidTagInternetCodepage解码PidTagBody/PidTagBodyHtml?

Q2. Do we decode PidTagBody/PidTagBodyHtml using PidTagMessageCodepage or PidTagInternetCodepage ?

Q3.当设置了storemask时,我们是否使用unicode?如果不首先尝试使用PidTagBody/PidTagBodyHtmlit的PidTagInternetCodepage然后是PidTagMessageCodepage,则使用unicode吗?

Q3. Do we use unicode when storemask is set, and when it is not first attempt PidTagInternetCodepage then PidTagMessageCodepage for PidTagBody/PidTagBodyHtmlit ?

Q4.如果不存在该怎么办..默认为1252?

Q4. What do we do if none are present .. default to 1252 ?

推荐答案

PR_BODY与任何其他字符串属性(例如PR_SUBJECT)没有什么不同-它具有PT_STRING8和PT_UNICODE两种风格.

PR_BODY is not different from any other string property (such as PR_SUBJECT) - it comes in both PT_STRING8 and PT_UNICODE flavors.

PR_HTML是PT_BINARY,它将数据存储在二进制字节blob中.大多数HTML正文都将字符集作为HTML标题的一部分包含在内,但是如果不存在,则需要使用PR_INTERNET_CODEPAGE.

PR_HTML, on the other hand, is PT_BINARY and it stores the data in a binary byte blob. Most HTML bodies includes the charset as a part of the HTML headers, but if it is not present, you will need to use PR_INTERNET_CODEPAGE.

这篇关于在PidTagInternetCodePage,PidTagMessageCodepage,PidTagStoreSupportMask上的MSG澄清的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆