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

题目缘由:

准备工作:

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就是解码后的字符

未完待续!

时间: 2024-10-09 03:20:01

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

JS版汉字与拼音互转终极方案,附简单的JS拼音输入法

原文:http://www.cnblogs.com/liuxianan/p/pinyinjs.html 前言 网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多音字,有的不支持声调,有的字典文件太大,还比如有时候我仅仅是需要获取汉字拼音首字母却要引入200kb的字典文件,无法根据实际需要满足需求. 综上,我精心整理并修改了网上几种常见的字典文件并简单封装了一下可以直接拿来用的工具库. 这篇文章差不多一个月前就写好了大部分了,但是就差拼音输入法这一块一直没时

JS版汉字与拼音互转终极方案,附简单的JS拼音

前言 网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多音字,有的不支持声调,有的字典文件太大,还比如有时候我仅仅是需要获取汉字拼音首字母却要引入200kb的字典文件,无法根据实际需要满足需求. 综上,我精心整理并修改了网上几种常见的字典文件并简单封装了一下可以直接拿来用的工具库. 代码和DEMO演示 github项目地址:https://github.com/liuxianan/pinyinjs 完整demo演示:http://demo.liuxiana

JS实现base64加密解密

JS实现base64加密解密 转载自http://blog.csdn.net/fengzheng0306/archive/2006/04/25/676055.aspx 方法一: <HTML><HEAD><TITLE>Base64</TITLE><script language=javascript>var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrs

GIS(六)——实现js版搜狗地图周边搜索功能

在上一篇文章<GIS(五)--完成js版搜狗地图基本交互搜索功能>中,介绍了搜狗地图的关键字搜索功能,今天就实现以下另一个重要功能吧--那就是周边搜索功能. 按照惯例,还是把官网上的示例代码给大家贴出来.飞机票在此.周边搜索的功能,跟关键字搜索其实是一样的,也是主要用到的了SearchRequest这个类,点击这里查看api文档.SearchRequest 对象规范: 属性 类型 说明 map Map 进行搜索的地图实例 renderer SearchRenderer 将结果进行渲染的对象.也

GIS(四)——为js版搜狗地图添加边界+Marker和Brand的最终美化版

在<GIS(三)--优化js版搜狗地图的brand标牌样式>中,分享了一下Brand样式的修改.现在把这几次Marker和Brand的修改统一再美化一下,算作一个终极优化版吧. 这次优化的主要内容是: 为整个操作的区域,添加边界 为Marker更换动态图片 为Brand更换半透明红色图片 只显示一个Brand,每3秒切换一次 1.绘制边界 首先做第一个吧,在搜狗地图上添加边界,是一个很简单的.很基本的,但是又很人性化的一个功能.在官网的实例代码中,覆盖层的第21个示例代码<画多边形区域.

全国三级城市联动 js版

/* * 全国三级城市联动 js版 * author: mrasong * E-mail: mrasong#163.com * version: 1.0.2 * data: tencent **/ function Dsy(){ this.Items = {}; } Dsy.prototype.add = function(id,iArray){ this.Items[id] = iArray; } Dsy.prototype.Exists = function(id){ if(typeof(t

js检测文章敏感词

在一些博客或者论坛中,文章中的敏感词需要显示出来和高亮显示起到提示用户的作用.这个功能实现的方法有很多,下面是js的实现方式. 1 //将文章中匹配到的敏感词罗列出来 2 <span style="color:#CC6600">敏感词:</span><font color='red' id="show_word"></font> 3 4 //文章显示区域 5 <div style="overflow-x

用C#实现Base64处理,加密解密,编码解码

using System; using System.Text; namespace Common { /// <summary> /// 实现Base64加密解密 /// 作者:周公 /// 时间:2007 /// </summary> public sealed class Base64 { /// <summary> /// Base64加密 /// </summary> /// <param name="codeName"&

纯css和js版下拉菜单

<!doctype html> <html> <head> <meta charset="utf-8"> <title>css版下拉菜单</title> <style type="text/css"> div,body,ul,li{padding:0;margin:0; list-style:none;} .all{width:550px; height:30px; backgrou