通过控制台将二进制数据从C传递到C#

时间:2012-03-05 11:56:28

标签: c# c image console binary-data

我有两个应用程序,一个用C语言编写,另一个用C#编写,它们通过控制台字符串消息进行通信。它们都等到另一个发送字符串消息。

现在我希望在某个时刻,C应用程序通过相同的控制台I / O" channel"以二进制格式发送图像。并且C#应用程序接收它并将其用作要显示的图像。我知道这是可能的,请参阅:C/C++: is it possible to pass binary data through the console?

我可以访问这两个应用程序的源代码。我知道C应用程序代码将映像写入磁盘的位置。 C#应用程序通过以下代码获取C应用程序输出:

process.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived); //void
p_OutputDataReceived(object sender, DataReceivedEventArgs e) //e.Data.

如何编写此二进制图像传输的C和C#部分?感谢。

1 个答案:

答案 0 :(得分:3)

如果您的问题是如何传输此数据,那么您的问题的答案非常简短base64。它是专门为此目的而制作的,并且为C和C#提供了现成的库(只需查看例如" C#base64")。

它几乎与原始二进制编码一样高效(就数据传输而言)。