【问题标题】:Zlib::DataError: incorrect header checkZlib::DataError: 不正确的标头检查
【发布时间】:2015-09-25 21:50:47
【问题描述】:

我有一个字符串,但我不知道编码的类型。

原始数据如下所示:

{
   "securityProxyResponseEnvelope":{
      "resultCode":"OK",
      "apiResponse":"{zlibe}9mtdE350h9rd4h7wlFX3AkeCtNsb40FFaEZAl/CfcNNKrhGXawhgAs2rI4rnEgIwLpgJkKl+qkB0kzJ6+ZFmmz12Pl9/9MPdA1unUKL5OdHcWmAZim3ZjDXFGCW4zruCS/IOSiU1qVKAF5qIbocB4+2rAF7zH18SRtmXM8YW3eYs5w1NPjmYkM31W8x7QvrKkzFscH3kqDwmYn0I2gNNOtfwuKjWd5snunyqxPopZHNX3CBdW/pj4+N0tJXjAoHorCe8Ypmjxnvh3zthkLTbiBLgeULH1hGvVtkI0C9PGMyt/92upVW6qHxqCYoO/LTJK1tq6OpBnMRBNZDDntSRkrzp+1RpvzbBxFtwQ9jh45eSthbG5hq+D2oJkW5zrGi6TM8eG4ztCqRoO9dEvz2JbQsDCTPz70+C6iPYdkvOyqji18ysLjBbGcHw1j45YItcurVxp0FChxXrnHZwu6m430xKEp7ONxvgEZurt3T8qAjrkrbHfd8jRjDydUXYsMoa",
      "session":"n3qp6jzHwZkXWSMW3VBF:jitqBjBmlZbrgcEgY7Od",
      "parameters":{

      }
   }
}

我想解压data['securityProxyResponseEnvelope']['apiResponse']中的字符串。

这就是我正在做的事情:

@clear_string_from_data = '9mtdE350h9rd4h7wlFX3AkeCtNsb40FFaEZAl/CfcNNKrhGXawhgAs2rI4rnEgIwLpgJkKl+qkB0kzJ6+ZFmmz12Pl9/9MPdA1unUKL5OdHcWmAZim3ZjDXFGCW4zruCS/IOSiU1qVKAF5qIbocB4+2rAF7zH18SRtmXM8YW3eYs5w1NPjmYkM31W8x7QvrKkzFscH3kqDwmYn0I2gNNOtfwuKjWd5snunyqxPopZHNX3CBdW/pj4+N0tJXjAoHorCe8Ypmjxnvh3zthkLTbiBLgeULH1hGvVtkI0C9PGMyt/92upVW6qHxqCYoO/LTJK1tq6OpBnMRBNZDDntSRkrzp+1RpvzbBxFtwQ9jh45eSthbG5hq+D2oJkW5zrGi6TM8eG4ztCqRoO9dEvz2JbQsDCTPz70+C6iPYdkvOyqji18ysLjBbGcHw1j45YItcurVxp0FChxXrnHZwu6m430xKEp7ONxvgEZurt3T8qAjrkrbHfd8jRjDydUXYsMoa'

@decoded = Base64.decode64(@clear_string_from_data)
@inflated = Zlib::Inflate.inflate(@decoded)

但这会返回

#=> Zlib::DataError: incorrect header check

这是什么原因造成的,接下来我可以尝试什么来解压缩数据?

【问题讨论】:

  • 这是在 M1 mac 上吗?我最近到处都看到这些错误。

标签: ruby base64 zlib compression


【解决方案1】:

我在尝试对 Zlib 未放气的数据调用 inflate 时遇到此问题。就我而言,它是用于单元测试的,我发送了一个纯字符串,只是忘了先调用 .deflate 。

在你的情况下,如果你这样做,你不会得到错误:

@decoded = Zlib::Deflate.deflate(@clear_string_from_data) @inflated = Zlib::Inflate.inflate(@decoded)

【讨论】:

    【解决方案2】:

    导致它的原因是它不是 zlib 数据。您应该询问生成原始数据的人。

    【讨论】:

      猜你喜欢
      • 2015-09-21
      • 2015-05-29
      • 1970-01-01
      • 2013-10-26
      • 1970-01-01
      • 2018-12-13
      • 2021-08-31
      • 1970-01-01
      • 2013-03-06
      相关资源
      最近更新 更多