如何查看字节数组是否包含 gzip 流?我的应用程序通过使用 Base64 编码的 http post 从其他应用程序获取文件。根据交付文件的应用程序的实现,可以压缩来自 Base64 字符串的字节数组。如何识别 gzipped 数组?我找到了一些方法,但我认为当有人上传 zip 文件或准备“坏”的 zip 文件时会出错
这是我发现和工作的,但它可以以某种方式被利用吗?
C#
public static bool IsGZip(byte[] arr)
{
return arr.Length >= 2 && arr[0] == 31 && arr[1] == 139;
}
VB.NET
Public Shared Function IsGZip(arr As Byte()) As Boolean
Return arr.Length >= 2 AndAlso arr(0) = 31 AndAlso arr(1) = 139
End Function
如果 IsGzip 返回 true,我的应用程序将解压缩字节数组。