タグ

ブックマーク / qiita.com/mashuel (1)

  • JavaScript: 哀れな圧縮力だ! - Qiita

    今回紹介するのは超単純で超軽量な圧縮伸長programです。あの有名っぽいhuffman符号様を遥かに凌がないかもしれない程の圧縮率を誇っています。率にして約50~60%という貧弱っぷりですが、記述量的に仕方がありません。実装は以下の通り。 //圧縮 function comp(A){ for(var a=0,b=1,c,d=0,e,f=1,B=[0],C=[];(e=A[a++])>-1;c=c*32+e) C[c&=131071]^e?B[b++]=C[c]=e:B[d]|=f,(f<<=1)>128&&(B[d=b++]=0,f=1); return~d+b||--B.length,B } //伸長 function decomp(A){ for(var a=0,b=0,c=0,d=A.length,f,B=[],C=[];a<=d;c=c*32+(B[b++]=f&1?C[c]:C

    JavaScript: 哀れな圧縮力だ! - Qiita
  • 1