背景:

  最近对接接口的时候需要将请求参数转为16进制,因此研究了下这个bin2hex。在js中转16进制 使用的是:

str.charCodeAt(i).toString(16);

  在遇到中文的时候编码就会不一致,因此需要特殊对待中文

function bin2Hex(str) {
var re = /[\u4E00-\u9FA5]/;
var ar = [];
for (var i = 0; i < str.length; i++) {
var a = '';
if (re.test(str.charAt(i))) { // 中文
a = encodeURI(str.charAt(i)).replace(/%/g, '');
} else {
a = str.charCodeAt(i).toString(16);
}
ar.push(a);
}
str = ar.join("");
return str;
}

  以上是把%过滤掉了,如不不要过滤就把replace方法去掉即可

最新文章

  1. Linux--shell脚本之正则表达式
  2. java猜数字游戏
  3. Javascript之三种按钮点击事件
  4. hadoop2.2基准测试
  5. 超长英文(代码)自动换行的样式(CSS)
  6. iOS中Block介绍 基础
  7. 临界段CCriticalSection的使用
  8. openstack controller ha测试环境搭建记录(十三)——配置cinder(控制节点)
  9. cron表达式学习
  10. JavaScript中+操作符的特殊性
  11. poj 1733 Parity game(带权并查集+离散化)
  12. Django 创建超级用户
  13. layui使用记录
  14. SpringBoot入门小案例
  15. orcl创建数据库
  16. Spring Boot war包&amp;jar包对比
  17. ORM 关系对象映射 基础知识点
  18. &quot;setItem@[native code] logging run flush&quot;
  19. Luogu5110 块速递推
  20. 微信小程序 --- 用户登录

热门文章

  1. Pycharm最新激活码汇总,pycharm2019激活码
  2. Python学习之面向对象(一)
  3. LeetCode.1025-除数游戏(Divisor Game)
  4. JSON中文处理类实例
  5. CSS未完
  6. 【Deep Learning Nanodegree Foundation笔记】第 9 课:Model Evaluation and Validation
  7. Metinfo5.1 /message/access.php SQL注入漏洞
  8. [codeforces940E]Cashback
  9. java实现顺序队列
  10. thinkphp5 安装