我有两个应用程序,一个用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#部分?感谢。
答案 0 :(得分:3)
如果您的问题是如何传输此数据,那么您的问题的答案非常简短base64。它是专门为此目的而制作的,并且为C和C#提供了现成的库(只需查看例如" C#base64")。
它几乎与原始二进制编码一样高效(就数据传输而言)。