广树管理员
2025-11-21 19:57
@石樱灯笼:那就少子老龄化吧
作者:广树时间: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插件生成二维码











