正在召唤神秘力量
导航

萌即是正义!时不时分享一些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-03-18
@邹江:哈哈哈,是吧!
邹江
2024-03-18
咖啡上面的图案挺有特色的,忍不住拍一张炫到朋友圈。哈哈!
广树
2024-03-18
@老张博客:是啊!我是最后才把这份拿铁喝掉的,都凉了🤭
老张博客
2024-03-18
@广树:这么漂亮的东西,都舍不得喝了!
广树
2024-03-18
@老张博客:你是说拿铁上的人物图案吗?能喝的,就是一层用食用色素绘制的糯米纸。
正在攻略

圣兽之王.jpg

传颂之物

PSN奖杯卡

PSN奖杯卡

赞助商广告