URL哈希参数的Javascript字符串压缩

时间:2015-02-09 15:59:21

标签: javascript string compression

我希望在URL哈希参数中存储大量数据,而不会超出URL字符限制。

是否有任何传统的压缩字符串长度的方法,然后可以在另一个页面加载时解码?

我已经看到LZW encoding用于类似的解决方案,但是特殊字符是否适用于此用途?

2 个答案:

答案 0 :(得分:1)

LZW编码技术上有效;您只需要将LZW编码的二进制文件转换为URL安全的base64,这样输出就不会包含特殊字符。 Here's an MDN article on base64 in JavaScript; base64的URL安全变体只是将+替换为-,将/替换为_。当然,除非你想要存储的数据是非常可压缩的,否则你不太可能通过这种方式减少字符串的大小。

答案 1 :(得分:1)

您可以查看专为压缩短字符串而设计的smazshoco。大多数压缩方法直到URL长度限制之后才会真正滚动,因此如果您希望获得任何收益,则需要专门的压缩器。然后,您可以使用Base 64等方案或使用所有URI安全字符的更高效编码对二进制结果进行编码。