【问题标题】:is it possible to convert a Gzip byte array to String?是否可以将 Gzip 字节数组转换为字符串?
【发布时间】:2020-09-19 15:28:13
【问题描述】:

我能够使用 GZIP java 压缩方法压缩 base64 字符串,因此可以在 st 中获取压缩值 响铃?

【问题讨论】:

  • 你可以做与使用 base64 字符串完全相同的操作
  • 我认为将二进制数组放入 String 会导致间歇性错误。
  • 如果你有一个 base64 字符串,那么你有一个字符串中的解码值。
  • 我已经压缩了字符串,但是压缩后的字符串返回了一个byteArray,现在我想把那个byteArray转换成字符串...
  • 本质上我想要做的是能够缩短一个字符串,假设我有一个 200 个字符长的字符串,我希望能够将它压缩成另一个长度更短的字符串,并且仍然能够解压到原来的 200 个字符串

标签: java android compression


【解决方案1】:

是的,你可以用这个方法将gzip解压成字符串。

public static String decompress(byte[] byteArray) throws Exception {
    if (byteArray == null ) {
        return null;
    }
    
    GZIPInputStream gzis = new GZIPInputStream(new ByteArrayInputStream(byteArray));
    BufferedReader bfr = new BufferedReader(new InputStreamReader(gzis, "UTF-8"));
    String outputString = "";
    String line;
    while ((line=bfr.readLine())!=null) {
      outputString += line;
    }
    return outputString;
 }

【讨论】:

    猜你喜欢
    • 2021-09-21
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多