广树
2024-11-21 16:04
@hikari:BGM也许是吧,歌曲部分感觉不一定
作者:广树时间: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插件生成二维码