PHPで文字列を圧縮、解凍 gzcompress、gzdeflate、gzencode
gzcompress、gzdeflate、gzencodeを使った文字列の圧縮と解凍
PHP
$data = 'リンゴ、バナナ、ネコ、イヌ'
// 圧縮(0:非圧縮/処理時間が短い~9:最大圧縮/処理時間が長い)
$compressed = gzcompress($data, 9);
// strlen($compressed);
// 圧縮対象文字列が20の場合、0:31、1~9:26
// 105の場合、0:116、1:80、2~9:81
// 2320の場合、0:2331、1:1120、2:1110、3:1100、4:1077、5~9:1067
// 97362の場合、0:97378、1:39589、2:38073、3:37212、4:35046、5:34053、6:33833、7:33789、8~9:33767
// 解凍
$uncompressed = gzuncompress($compressed);
// リンゴ、バナナ、ネコ、イヌ
// deflate圧縮
$compressed = gzdeflate($data, 9);
// strlen($compressed);
// 圧縮対象文字列が20の場合、0:25、1~9:20
// 105の場合、0:110、1:74、2~9:75
// 2320の場合、0:2325、1:1114、2:1104、3:1094、4:1071、5~9:1061
// 97362の場合、0:97372、1:39583、2:38067、3:37206、4:35040、5:34047、6:33827、7:33783、8~9:33761
// 解凍
$uncompressed = gzinflate($compressed);
// リンゴ、バナナ、ネコ、イヌ
// gzip圧縮
$compressed = gzencode($data, 9);
// strlen($compressed);
// 圧縮対象文字列が20の場合、0:43、1~9:38
// 105の場合、0:128、1:92、2~9:93
// 2320の場合、0:2343、1:1132、2:1122、3:1112、4:1089、5~9:1079
// 97362の場合、0:97390、1:39601、2:38085、3:37224、4:35058、5:34065、6:33845、7:33801、8~9:33779
// 解凍
$uncompressed = gzdecode($compressed);