JavaScript实现BASE62编码与解码
来源:互联网 发布:linux开机不启动防火墙 编辑:程序博客网 时间:2024/03/29 14:05
var Base62 = {arr : new Array('v', 'P', 'h', '7', 'z', 'Z', 'w', 'A', '2', 'L', 'y', 'U', '4', 'b', 'G', 'q', '5', 't', 'c', 'V', 'f', 'I', 'M', 'x', 'J', 'i', '6', 'X', 'a', 'S', 'o', 'K', '9', 'C', 'N', 'p', '0', 'O', 'W', 'l', 'j', 'Y', 'T', 'H', 'Q', '8', 'R', 'E', 'n', 'm', 'u', '3', '1', 'B', 'r', 'd', 'g', 'e', 'D', 'k', 'F', 's'),log10 : function(x){ return Math.log(x)/Math.log(10)},encode : function(str){var out = '';for(var t = Math.floor(this.log10(str)/this.log10(62)); t>=0; t--){var a = Math.floor(str / Math.pow(62, t));out += this.arr[a];str = str - (a * Math.pow(62, t));}return out;},decode : function(str){var out = 0;var len = str.length - 1;for(var t = 0; t <= len; t++){out = out + this.arr.indexOf(str.substr(t,1)) * Math.pow(62, len - t);}return out;}}document.write(Base62.encode(10010));
使用时不要超过系统限制最大int,否则会出错。
对应的PHP版Base62编码与解码:http://blog.csdn.net/my_yang/article/details/7175059
注意:如果不确定浏览器支持js数组使用indexOf,请加上如下代码
if (!Array.prototype.indexOf){ Array.prototype.indexOf = function(elt /*, from*/) { var len = this.length; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len; for (; from < len; from++) { if (from in this && this[from] === elt) return from; } return -1; };}
- JavaScript实现BASE62编码与解码
- golang实现base62编码
- JavaScript实现的base62 encode/decode,用于页面上直接对作为参数传递的url本身的编码和解码。
- 哈夫曼编码与解码的JavaScript实现
- javascript编码与解码
- Base62编解码
- javascript实现gb2312编码解码
- javascript 中的编码与解码
- javascript中的编码与解码
- javascript中的编码与解码
- javascript中的编码与解码
- javascript中的编码与解码
- javascript中的编码与解码
- javascript中的编码与解码
- Javascript Base64编码与解码
- Javascript Base64编码与解码
- JavaScript字符集编码与解码
- JavaScript字符集编码与解码
- js常用函数
- 常用js大全
- 判断字符串中每个字符出现的次数
- Install Apache 2.4.2 on Ubuntu 12.04 LTS
- 抓取网页的本地数据存储
- JavaScript实现BASE62编码与解码
- sqlite备忘
- Objective C 组合模式
- Hibernate Oracle 11g 无法自动生成表
- reltool使用入门
- 优先队列
- 弹出窗口大全
- OpenOffice源文件中的文件扩展
- ORACLE SQL语句中的“SWITCH语句”函数DECODE