常见问题 TBarCode DLL / TBarCode Library
在二维码® 压缩模式下编码汉字/日文字符
在二维码® 压缩模式下编码汉字/日文字符
以下信息适用于 AIM International ITS/97-001 和 ISO/IEC 18004:2000 中定义的 QR-Code Model 2。不适用于 ISO/IEC 18004:2006(或更高版本)中引入的新版 QR Code 2005。
二维码的数据可以按字节序列处理,也可以按 SHIFT JIS 字符序列处理。
除 SHIFT JIS 外,还可以使用所谓的“ECI”切换到不同的代码页——但解码软件通常不支持 ECI。
二维码的默认字符集为 Shift JIS。为使用二维码 Kanji 压缩模式(效率更高),编码器的输入必须采用特定字符集:
TBarCode DLL V7、TBarCode/X Library 版本 7
输入必须为多字节字符集格式 SHIFT JIS(不能是 UTF-8,也不能是 Unicode!)。
- 单字节字符按 JIS X 0201 编码。
- 双字节字符按 Shift JIS X 0208 编码。
TBarCode DLL V8、TBarCode/X Library 版本 8(及更高版本)
输入必须为 Unicode(Windows 版本中为 UTF-16,Linux/UNIX 版本中为 UTF-32/UCS-4)。
Shift JIS X 0208-1990 表中包含的双字节字符可以在二维码 13 位模式中进行压缩。要在 TBarCode Library 中启用压缩,需要调用函数
BCSet_QR_KanjiChineseCompaction (pBarcode, eQRMBCompactionKanji)
仅 JIS X 0208 表中 0x8140 - 0x9ffc 和 0xe040 - 0xeaa4 范围内的字符可被压缩。二维码压缩不支持 SHIFT JIS 范围(高字节)ED-EE / FA-FC,这些代码将被视为普通字节处理。
以下是有关 Kanji 和 Unicode 的背景资料链接: