我要将数据从 java 发送到 c#,我需要在 java 中压缩数据并在 c# 中解压缩。有没有相同的方法将java中的数据压缩和解压缩到c#?谢谢
我用java和c#写了一个例子。我在java中使用java.util.zip.GZIPOutPutStream来压缩数据,在c#中使用System.IO.Comperssion.GZipStream来解压数据。但是在 c# 中我得到“GZip 标头中的幻数不正确。请确保您正在传递 GZip 流”错误。
在 Java 中:
encode="admin";
ByteArrayOutputStream baos;
baos = new ByteArrayOutputStream(encode.getBytes().length);
GZIPOutputStream gs = new GZIPOutputStream(baos);
gs.write(encode.getBytes());
System.out.println("Zip "+baos.toByteArray().toString());
gs.close();
encode=baos.toByteArray().toString();//.toByteArray().toString();
}
在 C# 中:
1: var bigStream = new GZipStream(new MemoryStream(ASCIIEncoding.UTF8.GetBytes(obj)), CompressionMode.Decompress);
var bigStreamOut = new System.IO.MemoryStream();
byte[] b2=new byte[4096];
bigStream.Read(b2,0,b2.Length);
string hh1=Encoding.UTF8.GetString( bigStreamOut.GetBuffer()).Trim();
我在第 1 行收到错误“GZip 标头中的幻数不正确。请确保您正在传递 GZip 流”。