java - 来自 .NET Webservice 的压缩数组字节 Java

标签 java .net android visual-studio-2008 eclipse

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/

相关文章:

c# - 确保文本在 dataGridView 列中换行

android - 自定义相机安卓

java - Android fragment - 编辑另一个 fragment 的文本

java - Spring 启动: Inject mock in ApplicationRunner

java - 'a == null' 和 'null == a' 之间的区别

android - 如何在 android studio 中禁用 gradle 'offline mode'?

java - 在httpget上将mysql参数从java发送到php

java - spring-kafka中多个KafkaListener实现共享逻辑

.net - VB.NET需要一个class属性才能成为列表数组

c# - 我应该使用 Closing 事件还是重写 OnClosing?