如何访问存储在C ++ BSTR中的图像数据

时间:2014-03-20 11:59:31

标签: c# c++11

我有一个C#应用程序,我从中向一个基于COM的dll请求图像,并将图像以字符串形式返回给C#app。

实际上在COM dll中它返回BSTR中的二进制信息。如何将其存入BMP?

我试过了System.Text.Encoding.UTF8.GetBytes(string)但确实扭曲了图像。

1 个答案:

答案 0 :(得分:0)

BSTR数据实际上是UCS-2格式,而不是UTF8,因此您可能希望使用Unicode编码而不是UTF8来尝试此操作。在.NET中,Unicode编码实际上意味着UTF16,但除了需要超过16位的字符编码外,它与UCS-2相同。

这当然可能不起作用,具体取决于COM dll实际上如何编码图像数据。