使用 qrious.js 时发现不支持中文,无法生成二维码。
使用下面函数先对文本进行编码然后生成二维码即可。
let qr = new QRious({
level: 'L',
size: 200,
value: toUtf8('现在支持中文了');
});
function toUtf8(str) {
var out,//输出
i,//字符索引
len,//长度
c;//charCodeAt 编码后的字符
out = "";
len = str.length;
for(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if((c >= 0x0001) && (c <= 0x007F)) {
out += str.charAt(i);
} else if(c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
}
return out;
}
转自:https://blog.csdn.net/qq_40890233/article/details/88082611
One comment
表评论6244