正在召唤神秘力量
导航

萌即是正义!时不时分享一些ACG活动记录与有趣代码的小站!

【JavaScript 笔记】二进制数组转十六进制字符串 && 十六进制字符串转二进制数组 && 字节流二维码

作者:广树·时间:2018-06-22 10:45:58·分类:JavaScript/jQuery/Vue

因为需要需要生成一张字节流二维码,然后研究了下原理大致是:

十六进制数据→二进制数组→通过fromCharCode转换回字符串→通过qrious等不支持生成中文二维码的二维码生成库生成二维码。

用到的代码如下:

十六进制字符串转二进制数组:

/**
* @desc 十六进制字符串转二进制数组
*/
function Str2Bytes(str){
    var pos = 0;
    var len = str.length;
    if (len % 2 != 0){
        return null;
    }
    len /= 2;
    var hexA = new Array();
    for (var i = 0; i < len; i++){
        var s = str.substr(pos, 2);
        var v = parseInt(s, 16);
        hexA.push(v);
        pos += 2;
    }
    return hexA;
}

附带转回去:

/**
* @desc 二进制数组转十六进制字符串
*/
function Bytes2Str(arr){
    var str = "";
    for (var i = 0; i < arr.length; i++){
        var tmp = arr[i].toString(16);
        if (tmp.length === 1){
            tmp = "0" + tmp;
        }
        str += tmp;
    }
    return str;
},

生成二维码用的字符串

var QRText = String.fromCharCode.apply(null, byteArr);//二维码字符串

最后通过qrious插件生成二维码

#JavaScript
侧边栏
最新评论
广树
2024-04-19
@mikusa:近些年似乎出场变多了。钉宫病的时代还会回来的!
mikusa
2024-04-19
但是,钉宫退环境了( ๑´•ω•) \
广树
2024-04-19
@MqyGalaxy:谷歌严格意义上距离垄断还差一点。百度是真垄断了。
广树
2024-04-19
@2broear:看来大家都怨声载道
MqyGalaxy
2024-04-19
尽管谷歌也被经常被诟病垄断搜索引擎,但不得不说搜索引擎信息收录和搜索这方面谷歌确实是做的最好的,网站信息收录和同步还是挺快的。国内百度什么的感觉就算你码了几十行的字去搜索,前排显示的依旧是广告或者是无关的垃圾内容(笑)。
正在攻略

圣兽之王.jpg

传颂之物

PSN奖杯卡

PSN奖杯卡

赞助商广告