我有一个C#应用程序,我从中向一个基于COM的dll请求图像,并将图像以字符串形式返回给C#app。
实际上在COM dll中它返回BSTR中的二进制信息。如何将其存入BMP?
我试过了System.Text.Encoding.UTF8.GetBytes(string)
但确实扭曲了图像。
答案 0 :(得分:0)
BSTR数据实际上是UCS-2格式,而不是UTF8,因此您可能希望使用Unicode编码而不是UTF8来尝试此操作。在.NET中,Unicode编码实际上意味着UTF16,但除了需要超过16位的字符编码外,它与UCS-2相同。
这当然可能不起作用,具体取决于COM dll实际上如何编码图像数据。