1 - 来自网络服务。 NET 2008 (vb),我有一个返回字节数组的方法,字节数组实际上是用 System.IO.Compression GZipStream 类压缩的字符串“Hola Mundo”(英文“Hello World”)。
2 - 该方法返回压缩后的字符串“Hola Mundo”,这是网络服务返回的内容:
<base64Binary>
H4sIAAAAAAAEAO29B2AcSZYlJi9tynt/SvVK1+B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee++999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9+fB8/Ir5dlVn6xXo5q/4f0m5DIgoAAAA=
</base64Binary>
3 - 如果我从 Visual Basic 的 Windows 应用程序中进行测试。 NET 来运行这个方法返回这个字符串并用我拥有的另一个函数解压缩,它给我带来了“Hola Mundo”....
4 - 在 Android (Eclipse) 上,我设法发出请求并给我带来了之前的字符串...但不知道如何解压缩并显示“Hola Mundo”...
5 - 我尝试了几个来自网络的代码,但都没有用。
有人知道吗?从现在开始非常感谢你。
问候。
最佳答案
如果 Android 支持 java.util.zip.GZIPInputStream
,这就是您想要的。
例如:
byte[] bytes = getBytesFromWebService();
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
GZIPInputStream gzip = new GZIPInputStream(bais);
try {
InputStreamReader reader = new InputStreamReader(gzip, "UTF-8");
try {
String firstLine = new BufferedReader(reader).readLine();
...
} finally {
reader.close();
}
} finally {
gzip.close();
}
关于java - 来自 .NET Webservice 的压缩数组字节 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4266212/