JavaScript에서 문자열 압축

Anika Tabassum Era 2023년10월12일
  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 구현이 더 나은 출력을 제공합니다. 대용량 데이터를 서버 스토리지에 저장할 수 있는 더 큰 경우의 문제를 해결하기 위해 전용으로 진화 및 설계되었습니다.

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