Js字符串相互转换十六进制的方法
程序员文章站
2022-03-21 23:18:51
...
开发过程中,字符串与十六进、二进制之间的相互转换常常会用到,尤其是涉及到中文的加密时,就需要把中文转换为十六进制。下面说说具体的转换方法。
1、字符串转换为十六进制
主要使用 charCodeAt()方法,此方法返回一个字符的 Unicode 值,该字符位于指定索引位置。
function stringToHex(str){ var val=""; for(var i = 0; i < str.length; i++){ if(val == "") val = str.charCodeAt(i).toString(16); else val += "," + str.charCodeAt(i).toString(16); } return val; }
调用方法:
var str = "abcde"; stringToHex(str); stringToHex('AB中国中國'); -- 结果: 41,42,4e2d,56fd,4e2d,570b
2、十六进制转换为字符串
主要使用 fromCharCode()方法,此方法将 Unicode 码转换为与之对应的字符。
function hexToString(str){ var val=""; var arr = str.split(","); for(arr i = 0; i < arr.length; i++){ val += arr[i].fromCharCode(i); } return val; } 调用方法: var str = "676865"; stringToHex(str);
3、用 parseInt() 方法转换
parseInt(string, radix) 方法只能转换 String 类型,对其它类型都返回 NaN(非数字)。string 表示待转换的字符,radix 表示要转为的进制,值介于 2 ~ 36 之间。 parseInt("bc",16); //表示把字符串bc转换为16进制,结果:188 parseInt("10",8); //表示把字符串10转换为8进制,结果:8 parseInt("10",2); //表示把字符串10转换为2进制,结果:2
var str = "abcdeghijklmnopqrstuvwxyz"; console.log(stringToHex(str)); str="http://www.qq.com"; len=str.length; arr=[]; for(var i=0;i<len;i++){ arr.push(str.charCodeAt(i).toString(16)); } console.log("\\x"+arr.join("\\x"));
相关推荐:
JavaScript进阶(四)js字符串转换成数字的三种方法
以上就是Js字符串相互转换十六进制的方法的详细内容,更多请关注其它相关文章!
上一篇: Vue的elementUI实现自定义主题
下一篇: 简述CSS中clearfix 的原理
推荐阅读
-
js以逗号分割字符串(js分割字符串的方法)
-
jsonobject解析json字符串特别慢(json格式转换文本的方法)
-
js中json字符串转json对象的方法(提取json格式的数据)
-
C#华氏温度和摄氏温度相互转换的方法
-
C#实现XML与实体类之间相互转换的方法(序列化与反序列化)
-
C#、.Net中把字符串(String)格式转换为DateTime类型的三种方法
-
js中判断字符串相等的函数(判断两串字符串相等的方法)
-
解决无法在unicode和非unicode字符串数据类型之间转换的方法详解
-
jsonobject解析json字符串特别慢(json格式转换文本的方法)
-
JS实现字符串转驼峰格式的方法