码迷,mamicode.com
首页 > 编程语言 > 详细

js版 文章加密压缩算法 霍尔曼编码

时间:2015-11-19 12:41:22      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:

题目缘由:技术分享

 

准备工作:

1.需要一个二叉树的数据结构 js版的,我准本用用数组表示,如下

技术分享

var arr=[];//存放着对应的字符

字符$=>arr[0],$0=>arr[1],$1=>arr[2],$00=>arr[3],$01=>arr[4],$10=>arr[5],$11=>arr[6],

总结上面的规律,我需要做的是把一个二进制的数字,转化成10进制

function trans(strNum){

  if(arguments.length==0){return 0;}

  var num=0;

  for(var i=0;i<strNum.length;i++){

    num+=Math.pow(2,+strNum[i]+strNum.length-i-1)

  }

  return num;

}

trans()=>0,trans("0")=>1,trans("1")=>2,trans("00")=>3,trans("01")=>4,trans("10")=>5,trans("11")=>6

 2.对加密后的字符进行解码,将对应的编码转化成对应的字符

var arr=[];//存放着对应的字符

var newstr=str.replace(/\$(\d*)/g,function(m,p1){

return arr[trans(p1)];

})

 newstr就是解码后的字符

 

未完待续!

js版 文章加密压缩算法 霍尔曼编码

标签:

原文地址:http://www.cnblogs.com/caoke/p/4977163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!