UNPKG

lossless-text-compression

Version:
72 lines (48 loc) 1.58 kB
# Lossless text compression ## Benchmark The performance gets better with the number of words. words | compressed | original | encode | decode ---|---|---|---|--- 100 000 | 226 kB | 654 kB | 381 ms | 51 ms 10 000 | 25 kB | 65 kB | 43 ms | 8.7 ms 1 000 | 4.4 kB | 6.4 kB | 6.7 ms | 1.5 ms 100 | 0.62 kB | 0.73 kB | 0.44 ms | 0.16 ms ## Install ``` npm install lossless-text-compression ``` ## How to use #### Encode ``` const { encode } = require('lossless-text-compression'); console.log( encode('1121231234123451234561234567123456781234567891234567890') ); ``` #### Decode ``` const { decode } = require('lossless-text-compression'); console.log( decode('11234567890') ); ``` #### With files ``` const { encode, decode } = require('./ltc.js'); const { readFileSync, writeFileSync } = require('fs'); const fileName = ...; // for example: loremipsum.txt const compressedFile = ...; // for example: encoded.txt const restoredFile = ...; // for example: decoded.txt // read yourfile file const content = readFileSync(fileName, 'utf-8'); // encode and save the content writeFileSync(compressedFile, encode(content), 'ucs2'); // read and decode the encoded content const decoded = decode(readFileSync(compressedFileName, 'ucs2')); // save the restored content writeFileSync(restoredFileName, decoded, 'utf-8'); ``` ## Author Dugagjin Lashi ## License This project is licensed under the MIT License - see the LICENSE file for details.