导航

萌即是正义!时不时分享一些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-06-19
@Xia:是呀,原来塞尔达传说这个名字是伏笔
Xia
2024-06-19
塞尔达:终于又轮到我当主角了(☆ω☆)
广树
2024-06-19
@粽叶加米:是呀,之前梦见岛的引擎
粽叶加米
2024-06-19
而且是Q可爱的。
广树
2024-06-19
@Jacylunatic:确实,这样才公平
正在攻略

传颂之物

PSN奖杯卡

PSN奖杯卡

赞助商广告