使用 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

Last modification:March 3, 2023
如果觉得我的文章对你有用,请随意赞赏