将压缩数据编码为json字符串


Encoding the compressed data into json string

我正在按如下方式压缩数组,

<?php
    $input = array('name'=>'PHP');
    $compressed = gzcompress(serialize($input));
    echo '<pre>'; print_r($compressed);
?>

打印的数据如下

xœK´2´ª.¶2±RÊKÌMU².¶2¶R
ðP²®nJ»

现在,我想将$compressed转换为json字符串。由于压缩数据包含特殊字符,因此会抛出错误,因此我尝试下面的代码片段JSON_UNESCAPED_UNICODE

<?php
    // $compressed value getting from above script
    echo json_encode($compressed,JSON_UNESCAPED_UNICODE);
?>

仍然不工作。谁能建议如何将压缩数据编码为json字符串?

尝试使用:

$data = base64_encode(gzcompress(serialize($input)));

返回:

$input = unserialize(gzuncompress(base64_decode($data)));