将压缩后的数据编码成 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)));