如何在 JavaScript 中压缩字符串
在 JavaScript 中,可以有范围很广的压缩,比如 gzip 之类的文件压缩等等。 在这里,我们将讨论两种压缩字符串的方法。
最初,我们将重点介绍霍夫曼算法。 稍后,我们将介绍解决任务的 LZString 方法。
在 JavaScript 中使用 js-string-compression 压缩字符串
我们将首先设置一个包含文件 (okay.js) 的文件夹。 我们使用 VSCode 作为代码编辑器,在它的终端中,我们将编写以下命令。
$ npm i js-string-compression
这将添加实现霍夫曼算法所需的必要包。 安装包后,您将在根目录中有一个 package.json 和 package-lock.json 文件。
package.json 应类似于以下内容。
{
"dependencies": {
"js-string-compression": "^1.0.1"
}
}
在下一阶段,我们将编写我们的基本代码,定义一个字符串并设置我们要检查的参数。 让我们检查代码行。
代码片段:
var jsscompress = require("js-string-compression");
var raw_text = "Lorem Ipsum is simply dummy text of the printing and typesetting industry.";
var hm = new jsscompress.Hauffman();
var compressed = hm.compress(raw_text);
console.log("before compressed: " + raw_text);
console.log("length: " + raw_text.length);
console.log("after compressed: " + compressed);
console.log("length: " + compressed.length);
console.log("decompressed: " + hm.decompress(compressed));
输出:
使用 LZString 库在 JavaScript 中压缩字符串
为了通过 LZString 库压缩字符串,我们需要一个 HTML 文件和一个 js 文件。 LZString 是用于压缩字符串的 Perl 实现(lz-string)。
要导入依赖项,我们可以在根目录的终端中执行下面的命令行,我们有 HTML 和 js 文件。
$ npm install -g lz-string
接下来,我们将创建一个名为 new.html 的 HTML 文件和一个 new.js 文件。 我们还将创建另一个名为 lz-string.js 的文件,我们将在其中存储 LZString 实现。
对于完整代码,我们考虑了这个存储库。
现在,我们将在我们的 new.js 中写一些行,预览类似于下面。
代码片段:
var string = "Lorem Ipsum is simply dummy text of the printing and typesetting industry.";
console.log("Size of sample is: " + string.length);
var compressed = LZString.compress(string);
console.log("Size of compressed sample is: " + compressed.length);
console.log(compressed);
string = LZString.decompress(compressed);
console.log("Sample is: " + string);
准备好 new.js 文件后,我们将 lz-string.js 和 new.js 导入到 new.html 文件中。 当我们在浏览器中打开 HTML 文件时,输出将类似于以下内容。
输出:
可以注意到,如果我们比较这两种解决方案,LZString 实现会提供更好的输出。 它是专门为解决大型案例中的问题而设计的,您可以在服务器存储中存储大量数据。
相关文章
JavaScript 中的Anagram查找器
发布时间:2023/06/04 浏览次数:61 分类:JavaScript
-
在本文中,我们将学习 JavaScript 中 anagram 的概念。 我们将学习如何检查一个字符串是否是 JavaScript 中另一个字符串的变位词。
JavaScript String.concat() 方法
发布时间:2023/06/04 浏览次数:112 分类:JavaScript
-
javaScript String concat() 是一个内置函数,它将字符串连接在一起并返回连接后的字符串。使用 JavaScript String concat() 方法连接两个字符串
JavaScript 中的左修剪字符串
发布时间:2023/06/04 浏览次数:80 分类:JavaScript
-
使用正则表达式和 replace() 函数在 JavaScript 中左修剪字符串。在 JavaScript 中使用带有 substring() 函数的 while 循环来左修剪字符串
在 JavaScript 中过滤字符串
发布时间:2023/06/04 浏览次数:53 分类:JavaScript
-
在这里,我们将演示使用具有基本箭头操作和特定条件的 filter() 方法。 此外,我们将看到使用 indexOf()、test() 和 include() 方法来获取满足给定模式的字符串。使用带箭头函数的 filter() 方法在
JavaScript string.includes() 方法
发布时间:2023/06/04 浏览次数:139 分类:JavaScript
-
JavaScript string.includes() 方法查看一个字符串以检查它是否存在,并根据给定的字符串返回一个布尔值。
在 JavaScript 中循环遍历字典
发布时间:2023/06/03 浏览次数:105 分类:JavaScript
-
本篇文章将介绍如何在 JavaScript 中迭代对象或字典来提取键值对。使用 Object.entries() 在 JavaScript 中循环遍历字典 我们可以使用 Object.entries() 方法返回给定对象的 [key, value] 对字符串键可枚举属性
在 JavaScript 中提取元素的第一个子元素
发布时间:2023/06/03 浏览次数:91 分类:JavaScript
-
在本篇文章中,我们将学习在 JavaScript 中提取元素的第一个子元素。使用 Node.firstChild 在 JavaScript 中提取元素的第一个子元素
在 JavaScript 中创建自定义警告框
发布时间:2023/06/03 浏览次数:64 分类:JavaScript
-
本文将介绍如何使用 jQuery UI、SweetAlert2 和自定义警报功能在 JavaScript 中创建自定义警报框。使用 jQuery UI 创建自定义警告框 我们可以使用 jQuery UI 来模仿 JavaScript 本机 alert() 函数的功能。
JavaScript 剪贴板数据
发布时间:2023/06/03 浏览次数:105 分类:JavaScript
-
本篇文章将介绍在 JavaScript 中检测粘贴事件上的剪贴板数据。JavaScript 剪贴板数据。当用户通过浏览器 UI 启动粘贴操作时,将引发粘贴事件。