开发跨语言传递数据方案(c++/c#接口调用)

背景:

我们经常开发会遇到一个语言与另外一个语言进行数据传递,比喻c# 写界面,c++ 写底层,那么业务复杂的话,肯定会进行交互,这样子就会遇到传递数据的问题。

解决方案:

跨语言最好选择统一格式,那么选择字符串传递是最简单的,那么我们能够顺利选择JSON。因为JSON知识字符串的一种格式而已,选择XML也可以。只是XML会稍微浪费空间,感觉没有JSON接近语言。我还记得我第一次去深圳的一家公司,c++写底层,界面用ie控件描述,2个语言就很好的用json传递数据就可以了,这样子公司的所有界面只要前端开发适配一下就可以了,那时候貌似没有直接用js 来写界面的框架。

可能遇到问题:

传递二进制数据,因为JSON是不能支持二进制数据或者unicode一些编码导致数错乱,这个时候我们就需要用到base64进行编码来解决这个问题。

总结:

虽然C++与c#接口调用可以申明去定义,但由于太多细节在里面,如果换一个语言可能就又重新写代码,用Json传递,c++定义接口只要定义普通的wchar 或者char 就可以了,不要涉及到2个语言差异。