You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Brotli压缩后字符串解压失败,无法还原原始数据求助

压缩二维码数据时无法还原原始字符串的问题

我正在开发二维码的压缩编码逻辑,流程如下:

  • 用TextEncoder将JSON序列化后的学生数据编码为Uint8Array
  • 用Brotli库压缩该Uint8Array以减小体积
  • 为生成二维码,把压缩后的Uint8Array通过TextDecoder解码成字符串

但后续执行反向流程(将解码出的字符串重新编码为Uint8Array→Brotli解压→解码回字符串)时,无法还原出原始数据。

代码实现

const encodedDetails = new TextEncoder().encode(JSON.stringify(this.studentDetails, null, 0)); // 编码为Uint8Array
const compressedEncodedDetails = await compress(encodedDetails); // 压缩Uint8Array
const decodeData = new TextDecoder().decode(compressedEncodedDetails); // 解码为字符串用于生成二维码

// 反向流程
const encode_decodeData = new TextEncoder().encode(decodeData); // 将字符串重新编码为Uint8Array
const de_compress_compressedData = await decompress(encode_decodeData); // 解压
const orignalData = new TextDecoder().decode(de_compress_compressedData); // 尝试还原原始数据

console.log('+++++ 编码后数据 1', encodedDetails);
console.log('+++++ 压缩后数据 2', compressedEncodedDetails);
console.log('++++++ 解码后的字符串 3', decodeData);
console.log('++++++ 重新编码后的Uint8Array 4', encode_decodeData);
console.log('++++++ 解压后的数据 5', de_compress_compressedData);
console.log('++++++ 尝试还原的原始数据 6', orignalData);

我找不到问题所在,希望得到相关提示或建议。

控制台日志截图

控制台日志截图

内容的提问来源于stack exchange,提问作者Farrukh Faizy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 21:22:08