如何将逐字字符串转换为常规Unicode字符
问题描述:
我正在用文本方式从Exchange 2010中以编程方式读取已发送的电子邮件。在我的解析测试中,为了确保电子邮件的有效性,我做了一系列的验证,其中一个是检查开始文本(准确地说是StartsWith
)。当我手动将Exchange中的电子邮件复制并粘贴到Visual Studio 2008中时,电子邮件的开头看起来像\r\n \x0002\r\n
。从我的研究来看,我相信\x0002
是一个笑脸(STX)。但是,从Exchange以编程方式检索电子邮件以及在Outlook中查看\x0002
字符将显示为ㅁ
。理想情况下,我想解析从Exchange检索到的内容(\r\n ㅁ\r\n
)并将其转换为\r\n \x0002\r\n
。如何将逐字字符串转换为常规Unicode字符
ReSharper是将原始字符串转换为\x0002
的人。
这可能吗?
答
这听起来像你想执行下列操作之一:
Encoding.Unicode.GetBytes(myString);
Encoding.Unicode.GetChars(myString);
要格式化char
或byte
作为一个Unicode字符(如“\ uFF66”或“\ x0002”)看到以下问题:
感谢您的回答。我几乎*在我尝试的那一刻。你怎么得到它返回'\ x0002'而不是笑脸? – gcso 2011-04-14 01:43:53
@gcso这实际上比我更复杂 - 虽然它会 - 我已经更新了我的答案。出于您的目的,我认为您比较好的是与字符进行比较,而不是将字符转换为其转义的字符串表示形式。 – Justin 2011-04-14 01:56:52
非常好,谢谢。 – gcso 2011-04-14 01:59:34