JavaScript에서 문자열 압축

  1. js-string-compression을 사용하여 JavaScript에서 문자열 압축
  2. LZString 라이브러리를 사용하여 JavaScript에서 문자열 압축
JavaScript에서 문자열 압축

JavaScript에는 광범위한 압축, gzip과 같은 파일 압축 등이 있을 수 있습니다. 여기에서는 문자열을 압축하는 두 가지 방법에 대해 설명합니다.

처음에는 Huffman 알고리즘을 강조 표시합니다. 그리고 나중에 작업을 해결하는 LZString 방법을 다룰 것입니다.

js-string-compression을 사용하여 JavaScript에서 문자열 압축

먼저 파일(okay.js)로 구성된 폴더를 설정합니다. 우리는 코드 편집기에 VSCode를 사용하고 있으며 터미널에서 다음 명령을 작성합니다.

npm i js-string-compression

그러면 Huffman 알고리즘을 구현하는 데 필요한 필수 패키지가 추가됩니다. 패키지가 설치되면 루트 디렉토리에 package.jsonpackage-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));

출력:

문자열 압축에 js-string-compression 사용

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.jsnew.jsnew.html 파일로 가져옵니다. 브라우저에서 HTML 파일을 열면 출력은 아래와 비슷합니다.

출력:

LZString을 사용하여 문자열 압축

알 수 있듯이 두 솔루션을 비교하면 LZString 구현이 더 나은 출력을 제공합니다. 대용량 데이터를 서버 스토리지에 저장할 수 있는 더 큰 경우의 문제를 해결하기 위해 전용으로 진화 및 설계되었습니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook

관련 문장 - JavaScript String