UTF-8 编码
UTF-8 是目前最通用的文字编码方式,能表示几乎所有语言的字符和表情符号。它是变长编码:一个英文字母占 1 字节,一个常见汉字通常占 3 字节,一些表情符号占 4 字节。
二维码在放网址、纯英文时用效率更高的数字或字母数字模式;一旦内容里有中文、日文或表情,就会切换到字节模式,按 UTF-8 把每个字符转成字节再编码。这也是为什么放中文的二维码比放同样字数英文的更密——一个汉字顶三个英文字符的空间。
估算二维码容量时要按字节算,不是按字数:几十个汉字就可能上百字节。内容里含中文时,尽量精简文字或改放短链接,能让二维码更稀、更好扫。
常见问题
为什么放中文的二维码格子更密?
中文按 UTF-8 编码通常一个字占 3 字节,相当于三个英文字符的空间,所以同样字数的中文比英文占用更多,二维码就更密。
二维码里的中文会乱码吗?
只要生成和识别两端都按 UTF-8 处理,一般不会乱码。极个别老旧扫描软件若默认用别的编码,才可能出现乱码。