C#
public static string Compress(string text)
{
byte[] buffer = Encoding.UTF8.GetBytes(text);
var memoryStream = new MemoryStream();
using (var gZipStream = new GZipStream(memoryStream, CompressionMode.Compress, true))
{
gZipStream.Write(buffer, 0, buffer.Length);
}
memoryStream.Position = 0;
var compressedData = new byte[memoryStream.Length];
memoryStream.Read(compressedData, 0, compressedData.Length);
return Convert.ToBase64String(compressedData);
}
PHP
$str = trim($_REQUEST['data']);
echo gzdecode(base64_decode($str));
自己测试下,11.2M大小的可以压缩到不到1M,效率还不错