JavaScript에서 문자열 압축
JavaScript에는 광범위한 압축, gzip과 같은 파일 압축 등이 있을 수 있습니다. 여기에서는 문자열을 압축하는 두 가지 방법에 대해 설명합니다.
처음에는 Huffman 알고리즘을 강조 표시합니다. 그리고 나중에 작업을 해결하는 LZString 방법을 다룰 것입니다.
js-string-compression
을 사용하여 JavaScript에서 문자열 압축
먼저 파일(okay.js
)로 구성된 폴더를 설정합니다. 우리는 코드 편집기에 VSCode를 사용하고 있으며 터미널에서 다음 명령을 작성합니다.
npm i js-string-compression
그러면 Huffman 알고리즘을 구현하는 데 필요한 필수 패키지가 추가됩니다. 패키지가 설치되면 루트 디렉토리에 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
파일을 만듭니다. 또한 LZString 구현을 저장할 lz-string.js
라는 또 다른 파일을 생성합니다.
전체 코드의 경우 이 저장소를 고려했습니다.
이제 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 구현이 더 나은 출력을 제공합니다. 대용량 데이터를 서버 스토리지에 저장할 수 있는 더 큰 경우의 문제를 해결하기 위해 전용으로 진화 및 설계되었습니다.