为什么字符串在应用 gzcompress 和 gzuncompress 时具有相同的大小?

Why a string have the same size applying gzcompress and gzuncompress?

我有一个带字段的 mysql table,但我没有修改 table 架构的权限。

content varchar (255) not null

是否可以向该字段插入更大大小(大于 255)的字符串。我不在乎它是如何存储的(压缩或编码)。如果是压缩的,我想找回未压缩的。

我尝试过的东西

gzcompress();

base64_encode();

<?php
$compressed   = gzcompress('asdasdwq3eryt238774284873246827364872687342873rweuydfgjshdbfdgfgs', 9);
$uncompressed = gzuncompress($compressed);
echo $compressed.'---'.strlen($compressed);
echo "<br />";
echo $uncompressed.'----'.strlen($uncompressed);

//BOTH ARE SAME IN SIZE
?>

gzcompress 使用 ZLIB 数据格式压缩给定的字符串。有关 ZLIB 压缩算法的详细信息,请参阅文档 ZLIB Compressed Data Format Specification version 3.3 (RFC 1950)

您可以在以下位置阅读有关 ZLIB 工作原理的解释:

http://www.zlib.net/feldspar.html

<?php
$compressed   = gzcompress(' This function compresses the given string using the ZLIB data format. For details on the ZLIB compression algorithm see the document "» ZLIB Compressed Data Format Specification version 3.3" (RFC 1950). ', 9);
$uncompressed = gzuncompress($compressed);
echo $compressed.'---'.strlen($compressed);
echo "<br />";
echo $uncompressed.'----'.strlen($uncompressed);

?>