0

我用 C# 编写的 dll 通过 com 与 C++ 程序一起工作。我从该程序字节流中得到应该是 rtf 数据(它们是),当我试图将它分配给 rtf 控件时,我得到了一个 ArgumentException。当我将该流保存到文件以查看 ansi 字符时,我注意到该流的第一个字节以“System.Byte []”开头:

System.Byte[]{\rtf1\ansi\ansicpg1250\deff0\deflang1045{\fonttbl{\f0\fnil\fcharset238{\*\fname Courier New;}Courier New CE;}{\f1\fnil\fcharset238 Microsoft Sans Serif;}}
{\colortbl ;\red0\green0\blue0;}
\viewkind4\uc1\pard\cf1\f0\fs16 aa\cf0\f1\fs17\par
}

简单转换为 byte[] 不起作用,实际上我不知道如何摆脱它。我没有多少经验,但它似乎是一种序列化信息。我也尝试使用 BinaryFormatter,但没有成功。

知道它来自哪里以及如何解决吗?

谢谢,雷

4

1 回答 1

0

Can't you just remove the string "System.Byte[]"? I've never used rtf before but I saved your output in a file (without "System.Byte[]" of course) and word opened it without any problem.

于 2013-10-29T12:17:40.410 回答