0

我有一个遗留的 C++ COM 应用程序,它像这样编写 BSTR(Windows 上的 UTF-16)。

比如说,☻(黑色笑脸,即 ALT + Numpad 2)在 HEX 中是这样写的 -060000003B260D000A00由应用程序编写。请注意,第一个 4 个字节是为BSTR 长度保留的

现在,如何C#从这个 HEX 字符串中显示黑色笑脸?在 VS 调试器中,'\u263B'显示笑脸,但这里的字符串是3B26. 这只是一种数据的示例。该应用程序可以转储任何数据(如大型 XSL、文本等 - 全部转换为 HEX 格式)。想法是在 C# 中正确解释 HEX。

这个链接讲了类似的东西,但不是很确定。任何指针?

在此处输入图像描述

4

1 回答 1

0

用于从 BSTRMarshal.PtrToStringBSTR获取托管实例。String

请注意,IntPtr参数应该是指向字符串字符本身开头的指针,而不是编码字符串长度的 4 个字节的开头。

于 2013-04-15T23:29:30.560 回答