JS 实现文本压缩可以采用什么方法?

  1. JS 实现文本压缩可以采用什么方法?
  2. JS 实现文本加密可以采用什么方法?

期望值

  1. 重点是高压缩比,无损
  2. 支持 node、js、小程序 多个环境。(压缩和解压、加密和解密)
  3. 压缩代码和加密代码不要太多。10k-30k最好

可以给我提供压缩的算法名,仓库的地址。或者思路都可以。

阅读 3.9k
3 个回答

只能回忆回忆大学学过的东西:

用什么均值啦,矩阵乘法来提取特征,保存特征会小很多,解压缩也是相当的有损,[123,456,789]压成[2,5,8],然后恢复硬是变成[222,555,888]。

什么音频压缩直接删掉某些频率以外的数据,视频直接做近似帧压缩,120帧4k高清,也给你压成24帧720p小电影。这倒是没法解,单纯就是丢信息,不要了,唉,就是玩。

好像还有一种是记规律,哪些位置出现什么样的数据片段,这种倒是可能出现负压缩(位置信息比数据片段还大)。

线代有个啥,稀疏矩阵,对角矩阵,然后只记非零元素。

学的全还给老师了,距离“期望值”也就差个大江大河的宽度,不过这也算思路吧

不知道你为什么要通过JS实现压缩和加密。

压缩

问题中限定了压缩的源是文本类型的数据。因为字符的编码特性,文本类型的数据都是比较适合去压缩的。
但问题是我们为什么要去压缩。如果是用于减少传输量的目的,我们知道客户端是可以自行处理的。服务端(Node.js)是需要自行处理的。但是问题中同时涉及了客户端和服务端,就不知道是基于什么目的了。
通常,gzip算法可以很好地兼顾文本类型的压缩比和性能。

加密

同样,加密最终是要被解密的,所以一定是可逆的。在客户端进行的加密,不仅任何人能看到加密的算法,也都能获得密钥,自然也就能解密。所以客户端做加密是没有任何意义的。
HTTPS(SSL/TLS)隧道确保了明文数据可在加密隧道内进行传输,可以保证传输的安全,也是通用的做法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏