Мой клиент хочет сохранить текст длиной более 60 символов, но я не могу использовать более 60 символов для хранения этих данных, поэтому ...
Я ищу способ уменьшить / сжать короткийтекст (менее 60 символов), я тестировал gzcompress
, gzdeflate
, gzencode
, bzcompress
, base64_encode
и bin2hex
, но я получаю одинаковые или более символов, чем исходный текст.
$char="This is a sample short text";
echo "<div>$char</div>";
echo "<div>It has ".strlen($char)." characters</div>";
$chargz=gzcompress($char,9);
echo "<div>gzcompress has ".strlen($chargz)." characters</div>";
$chargz=gzdeflate($char,9);
echo "<div>gzdeflate has ".strlen($chargz)." characters</div>";
$chargz=gzencode($char,9);
echo "<div>gzencode has ".strlen($chargz)." characters</div>";
$chargz=bzcompress($char,9);
echo "<div>bzcompress has ".strlen($chargz)." characters</div>";
$chargz=base64_encode($char);
echo "<div>base64_encode has ".strlen($chargz)." characters</div>";
$chargz=bin2hex($char);
echo "<div>bin2hex has ".strlen($chargz)." characters</div>";
Вот результаты:
This is a sample short text
It has 27 characters
gzcompress has 33 characters
gzdeflate has 27 characters
gzencode has 45 characters
bzcompress has 61 characters
base64_encode has 36 characters
bin2hex has 54 characters
Как вы видите, я не получаю никакого сокращения длины, эти методы отлично работают с более длинными текстами, но как насчет коротких текстов?
Как уменьшить длину коротких струн?