从 SQL Server 检索压缩的 GZip 信息

pte*_*oid 5 sql t-sql sql-server sql-server-2008-r2

我有一个表存储压缩的 GZip 文件的内容。不确定原始信息是 XML 还是 CSV 还是什么。我无权访问原件。PulledContent 列是 varbinary,看起来像这样0x1F8B08000000000004006553C18E9B3010BD57EA3F706C0F2B63...

如何将这些信息转换为人类可读的内容?

我认为解决方案可能在这里:varbinary to string on SQL Server

但是当我尝试这个时:SELECT CONVERT(VARCHAR(1000), PulledContent, 2);

它只是给了我一串略有不同的数字和字母,如下所示1F8B08000000000004006553C18E9B3010BD57EA3F70...

我缺少什么?

Dou*_*oug 3

从“PulledContent”列返回的数据采用二进制 GZip 压缩格式。为了将此二进制数据转换为人类可读的格式,您将需要执行以下任务。

1) 使用适当的库解压缩二进制数据。如果您在 Windows 环境中,您可以使用 .net 类GZipStream来执行此任务。

2) 将二进制数据转换为字符串。您可以使用 .net Encoding 类来完成此任务。

string data = Encoding.Default.GetString(bytes); 
Run Code Online (Sandbox Code Playgroud)

享受!