如何将压缩字符串从Java传输到C#

我有一个用Java编写的服务器和一个用C#编写的客户端。它们通过XMPP进行交互并相互发送消息。消息是XML,其中一些可能非常大。我正在考虑压缩数据,但我想知道在技术上这是最好的方法,因为我在Java中压缩并在C#中解压缩。 显然我需要将压缩缓冲区转换为BASE64,传输它,解码BASE64然后解压缩。我应该使用JDK和.NET中的哪些工具来压缩/解压缩数据?     
已邀请:
在.NET中,您可以使用
System.IO.Compression.GZipStream
。 在Java中,java.util.zip.GZIPOutPutStream似乎适合于压缩任务。 编辑: 另一种选择可能是7-zip。有一个适用于c#和Java的SDK。 编辑2: 关于“XMPP压缩”的快速谷歌揭示了XMPP本身支持流压缩。这将压缩您的整个通信,并且不需要您对BASE64编码您的压缩数据。这听起来更像是一种更有效,更兼容的压缩数据的方式,而不仅仅是压缩有效负载。     
您可以使用像ZIP这样的通用算法,这两种语言都有足够的库 - 它们也只在内存中工作,即没有文件系统。 对于C#我可以推荐:http://www.sharpdevelop.net/OpenSource/SharpZipLib/     
听起来像滥用XMPP。我不太清楚,但它可能已经支持压缩的XML / Stream ... http://xmpp.org/protocols/compress/ 另请参阅TLS压缩。     

要回复问题请先登录注册