导航

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

侧边栏
最新评论
广树管理员
2025-05-07 21:00
@ZeroCounter:哈哈哈,被发现啦
ZeroCounter
2025-05-07 14:06
原来博主是可爱的二次元女孩子(→游船上那张全景
广树管理员
2025-05-06 14:31
@ZeroCounter:这样啊,逐渐听不懂现在的网络热梗了😅
ZeroCounter
2025-05-06 13:41
@广树:一个梗啦,表示很无语( 因为国内的阅读理解题经常写表达了作者的思乡之情(
广树管理员
2025-05-06 11:13
@ModerRAS:云台拍摄全景需要固定不动,时间也长,有一定场景限制。
攻略中
星空列车与白的旅行
暂无评分
Steam星空列车与白的旅行
2025年2月22日 22时 ~ 攻略中
已累计游玩2个月15天
乘坐的列车,划破夜空,飞驰在星空之下,令人心旷神怡——这可真是场超值之旅。舒爽夜风吹拂下的随心独旅中,我邂逅了随性的乘客,可人怜爱的乘务员。以及……猫耳少女?这场旅行,究竟会在她身上,留下了些什么呢?
PSN奖杯卡

PSN奖杯卡

归档
赞助商广告

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

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

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

十六进制数据→二进制数组→通过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插件生成二维码

donate.png

1210 x 50(蓝底).png

cloudcone