我有 [] 字节的 zip 文件。我必须在不创建新文件的情况下解压缩它,并获取该解压缩文件的 [] 字节。请帮助我做到这一点。
我正在进行 API 调用,我得到的响应是压缩格式的 []byte - 我正在尝试解压缩它 - 并使用它的内容创建一个新的 zip 文件。所以解压缩 - 重新压缩。
Language: Golang
我用过的代码:
func UnzipBytes(zippedBytes []byte) ([]byte, error) {
reader := bytes.NewReader(zippedBytes)
zipReader, err := zlib.NewReader(reader)
if err != nil {
return nil, err
}
defer zipReader.Close()
p, err := ioutil.ReadAll(zipReader)
if err != nil {
return nil, err
}
return p, nil
}
我收到一条错误消息“zlib:无效标头”
最初用于压缩 []byte 的代码
buffer := new(bytes.Buffer)
zipWriter := zip.NewWriter(buffer)
zipFile, err := zipWriter.Create(file.name)
_, err = zipFile.Write(file.content)
[]byte 的十六进制转储 - zippedBytes
00059350 78 b4 5b 0d 2b 81 c2 87 35 76 1b 11 4a ec 07 d1 |x.[.+...5v..J...|
00059360 76 77 a2 e1 3b d9 12 e2 51 d4 c5 bd 4b 2f 09 da |vw..;...Q...K/..|
00059370 f7 21 c7 26 73 1f 8e da f0 ff a3 52 f6 e2 00 e6 |.!.&s......R....|
MM们
相关分类