# lzw-js **Repository Path**: fldx/lzw-js ## Basic Information - **Project Name**: lzw-js - **Description**: JS LZW压缩算法 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2020-04-13 - **Last Updated**: 2022-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # lzw-js LZW压缩算法 > 连续重复的数据越多,压缩效果越好。反之,压缩结果会比原来的要大 #### 压缩 ```javascript let source=`111111111111222222222222222223333333333333333344444444444444441111111111111121314234123241241567568679698-90-9=98675645646456464562342342424234252342244242`; //需要将数据转成byte数组 let blob=new Blob([source]); blob.arrayBuffer().then(buff=>{ let result= encoding(new Uint8Array(buff)) console.log(result) }) ``` #### 解压 ```javascript let source=`03,11,02,10,31,04,10,20,32,10,71,08,10,91,0a,10,70,33,10,d1,0e,10,f1,10,10,d0,34,11,31,14,11,51,16,03,41,05,11,91,03,03,20,31,03,30,31,03,40,32,03,31,18,12,10,32,12,31,18,03,50,36,03,71,28,03,81,29,03,90,36,03,90,38,02,d0,39,03,01,32,03,d1,30,12,91,28,03,41,39,03,61,3a,13,c1,3c,12,81,21,12,01,22,12,51,44,14,30,35,14,11,07,11,31,44`; //需要将数据转成byte数组 source=source.split(",").map(e=>parseInt(e,16)) let result=decoding(source); //将解压的数据转为字符串 let blob=new Blob([new Uint8Array(result)]); blob.text().then(text=>{ console.log(text) }) ```