是否可以使用PHP压缩字符串?

是否可以使用PHP压缩字符串?,php,string,compression,Php,String,Compression,缺点是输出必须编码为UTF8或ISO-8859-1 我曾尝试使用base64_编码(gzdeflate($string,9)),但结果超过了原始字符串 有人能想出一个办法吗 感谢压缩数据基本上是二进制的——它没有字符集,只是一个字节序列。base64基本上会将输入的大小增加大约1.33倍,因此,除非字符串压缩到原始大小的.66左右,否则您将丢失 更大的问题是,为什么需要对压缩数据进行重新编码?是否将其显示为“纯文本”,而不是输出原始字节时的随机“垃圾”?压缩数据基本上是二进制的-它没有字符集,只

缺点是输出必须编码为UTF8或ISO-8859-1

我曾尝试使用
base64_编码(gzdeflate($string,9))
,但结果超过了原始字符串

有人能想出一个办法吗


感谢

压缩数据基本上是二进制的——它没有字符集,只是一个字节序列。base64基本上会将输入的大小增加大约1.33倍,因此,除非字符串压缩到原始大小的.66左右,否则您将丢失


更大的问题是,为什么需要对压缩数据进行重新编码?是否将其显示为“纯文本”,而不是输出原始字节时的随机“垃圾”?

压缩数据基本上是二进制的-它没有字符集,只是一个字节序列。base64基本上会将输入的大小增加大约1.33倍,因此,除非字符串压缩到原始大小的.66左右,否则您将丢失


更大的问题是,为什么需要对压缩数据进行重新编码?是否将其显示为“纯文本”而不是输出原始字节时的随机“垃圾”?

base64编码会增加开销,因为您正在将二进制转换为纯文本。如果字符串较短,则此开销将大于压缩的收益。但是,这种方法在大字符串上应该可以正常工作。

base64编码会增加开销,因为您正在将二进制转换为纯文本。如果字符串较短,则此开销将大于压缩的收益。但是,这种方法在大字符串上应该可以很好地工作。

Well base64编码显然会破坏您的所有节省,因为它至少会将大小增加8/6(在正确的实现中实际会多一点)

如果ISO-8859-1是指IANA定义的字符集,则可以使用它对二进制数据进行编码,因为所有255个值都已定义(尽管它将包含控制字符)。另一方面,ISO 8859-1(注意缺少连字符)没有定义所有255个值,UTF-8也不可能


如果节省的空间超过~14%,则可以使用7位/8位编码,只保留MSB 0(这对于UTF8来说很好,但仍然可以控制序列)

Well base64编码显然会破坏所有节省的空间,因为它至少会将大小增加8/6(在正确的实现中,实际上会稍微多一些)

如果ISO-8859-1是指IANA定义的字符集,则可以使用它对二进制数据进行编码,因为所有255个值都已定义(尽管它将包含控制字符)。另一方面,ISO 8859-1(注意缺少连字符)没有定义所有255个值,UTF-8也不可能


如果节省的空间超过~14%,则可以使用7位/8位编码,只保留MSB 0(这对于UTF8很好,但仍然可以控制序列)

压缩是什么意思?压缩是什么意思?