LZSS(LZ77) 圧縮アルゴリズムで文字列を圧縮/解凍します。
圧縮された結果は Base62 (0-9A-Za-z) からなるバイナリセーフな文字列になります。
サイズ制限のある localStorage や sessionStorage, cookie など、 例えば localStorage は 5MB 使えたとしても UTF-16 の場合、実質的に 2.5MB 分になってしまします。
圧縮結果は内容にもよりますが おおよそ 60~80% 程度のサイズになります。
例外として繰り返しのない文字列はサイズが約1割程度増えることがあります。
圧縮された結果は Base62 (0-9A-Za-z) からなるバイナリセーフな文字列になります。
サイズ制限のある localStorage や sessionStorage, cookie など、 例えば localStorage は 5MB 使えたとしても UTF-16 の場合、実質的に 2.5MB 分になってしまします。
圧縮結果は内容にもよりますが おおよそ 60~80% 程度のサイズになります。
例外として繰り返しのない文字列はサイズが約1割程度増えることがあります。
var data = 'hello hello hello'; console.log(data.length); // 17 var compressed = lzbase62.compress(data); console.log(compressed); // 'sBpBwBwBzB9GAM' console.log(compressed.length); // 14 console.log(compressed.length < data.length); // true var decompressed = lzbase62.decompress(compressed); console.log(decompressed); // 'hello hello hello' console.log(decompressed === data); // true
0 件のコメント:
コメントを投稿