一个不错的字符串转码解码函数(自写)


Posted in Javascript onJuly 31, 2014
function isString(variable) {
  return Object.prototype.toString.call(variable).indexOf('String') != -1;
}

function isNumeric(variable) {
  return !isNaN(parseFloat(variable)) && isFinite(variable);
}

function stringEncode(string) {
  string = isString(string) || isNumeric(string) ? String(string) : '';

  var code,
    i = 0,
    code_string = '',
    len = string.length;

  while(i < string.length) {
    code = string.charCodeAt(i);
    code_string += '' + String(code).length + code;
    i++;
  }

  return code_string;
}

function stringDecode(code) {
  var i = 0,
    code_len,
    decode_string = '';
  code = String(code);
  while(i < code.length) {
    code_len = +code.charAt(i);
    i++;
    decode_string += String.fromCharCode(+code.substr(i, code_len));
    i += code_len;
  }
  return decode_string;
}
Javascript 相关文章推荐
javascript dom 操作详解 js加强
Jul 13 Javascript
JavaScript 上万关键字瞬间匹配实现代码
Jul 07 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
js图片自动轮播代码分享(js图片轮播)
May 06 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
Apr 07 Javascript
Javascript removeChild()删除节点及删除子节点的方法
Dec 27 Javascript
angularjs自定义ng-model标签的属性
Jan 21 Javascript
基于jquery实现动态竖向柱状条特效
Feb 12 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
微信小程序实现的自定义分享功能示例
Feb 12 Javascript
swiperjs实现导航与tab页的联动
Dec 13 Javascript
javascript 获取函数形参个数
Jul 31 #Javascript
javascript 10进制和62进制的相互转换
Jul 31 #Javascript
JavaScript Serializer序列化时间处理示例
Jul 31 #Javascript
javascript里绝对用的上的字符分割函数总结
Jul 31 #Javascript
超链接的禁用属性Disabled使用示例
Jul 31 #Javascript
Windows 系统下安装和部署Egret的开发环境
Jul 31 #Javascript
js锁屏解屏通过对$.ajax进行封装实现
Jul 31 #Javascript
You might like
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
php预定义变量使用帮助(带实例)
2013/10/30 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
PHP执行linux命令常用函数汇总
2016/02/02 PHP
原生javascript实现图片弹窗交互效果
2015/01/12 Javascript
高性能JavaScript模板引擎实现原理详解
2015/02/05 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
2015/09/02 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
node.js使用cluster实现多进程
2016/03/17 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
js canvas实现QQ拨打电话特效
2017/05/10 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
2018/09/30 Javascript
JavaScript实现简单贪吃蛇效果
2020/03/09 Javascript
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
python实现遍历文件夹修改文件后缀
2018/08/28 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
公证委托书标准格式
2014/09/11 职场文书
保送生自荐信范文
2015/03/26 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
新闻通讯稿范文
2015/07/22 职场文书
遗嘱范文
2015/08/07 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书
python中opencv实现图片文本倾斜校正
2021/06/11 Python
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技