我有一个 C# 应用程序,我使用 SharpZipLib 对一个很长的字符串进行放气,然后将数据以放气字节 [] 的 Base64 字符串发送到 PHP 服务。
出于某种原因,当尝试在 PHP 端对其进行 Inflate 时,它返回一个错误:'gzinflate: data error'。
如何在 PHP 中对压缩后的字符串进行膨胀?
这是 C# 代码:
byte[] sIn = System.Text.UTF8Encoding.UTF8.GetBytes(data);
MemoryStream rawDataStream = new MemoryStream();
GZipOutputStream gzipOut = new GZipOutputStream(rawDataStream);
gzipOut.IsStreamOwner = false;
gzipOut.Write(sIn, 0, sIn.Length);
gzipOut.Close();
byte[] compressed = rawDataStream.ToArray();
// data sent to the php service
string b64 = Convert.ToBase64String(compressed);
PHP代码:
$inflated = base64_decode($_POST['data']);
// crash here
$inflated = gzinflate($inflated);
提前致谢!