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

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

现在我希望在某个时刻,C应用程序通过相同的控制台I / O“通道”以二进制格式发送图像,并且C#应用程序接收它并将其用作要显示的图像。 我知道这是可能的,请参阅: C / C ++:是否可以通过控制台传递二进制数据? 。

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

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

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

如果您的问题是如何传输这些数据,那么您的问题的真正简短答案就是base64 。 它专门为此目的而制作,并为C和C#提供了现成的库(只需寻找例如“C#base64”)。

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