阅读与阅读从HEX字符串显示Unicode(由传统的Microsoft COM应用程序编写)

时间:2013-04-15 15:33:55

标签: c# com

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

  

说,☻(黑色笑脸,即ALT + Numpad 2)在HEX中写得如此    - 应用程序的060000003B260D000A00。请注意,前4个字节是为BSTR length

保留的

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

This link谈论类似的事情,但不太确定。有什么指针吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

使用Marshal.PtrToStringBSTR从您的BSTR获取托管String的实例。

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