导航

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

侧边栏
最新评论
广树
2024-07-25 19:11
@Chlorine:好的大佬!珍惜现有的大学生活吧,未来的强度可能会更高🤭。
Chlorine
2024-07-25 18:23
@广树:真说不上大佬,只是一个被大二即将到来的高强度课程吓破胆的小菜鸡(/TДT)/
广树
2024-07-25 09:06
@Chlorine:爱学习的大佬!
Chlorine
2024-07-25 08:28
hhh,学习 C++——吉,那就学 DSA (数据结构)去啦 awa
广树
2024-07-24 21:00
@Jacylunatic:还没预约上呢🤭
正在攻略

あおかなEXTRA1

黑白的莫比乌斯.jpg


PSN奖杯卡

PSN奖杯卡

赞助商广告

【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