扩展库 / qr

qr

二维码生成。

支持版本 1-40、四种纠错级别和 UTF-8 ECI。可输出模块矩阵、文本、半块字符与 SVG;结果独立持有,不静默截断。

API

接口用途
matrix(text, level="M")返回 0/1 模块矩阵
version(text, level="M")查询所需版本
ascii / utf8 / svg生成可展示的二维码

范例

import qr
string image = qr.svg("你好,世界", "M", 4, 4)
println(qr.version("HELLO WORLD"))

文本须为无 NUL 的合法 UTF-8。自定义文本格拒绝控制字符与行分隔符;不同终端的字符显示宽度由调用者负责。C 版本号和 SVG 数值参数使用与 XLang int 一致的 int64_t。编码按整段选择单一模式;完整参数与验证见包内 README。

2026-10-26 Windows 与 Linux 默认包门禁均通过:严格 C/ABI、Linux ASan/UBSan、语言 JIT、核心/边界/中央/公开范例独立 EXE,以及公开 C 范例的 GCC、xl run、xl build 输出对照。独立 ZXing-C++ 3.1.1 扫码器读回当前 C 编码器的 11 组样本,包括中文和版本 40 容量边界;可用 python release/extlibs/qr/test/check_decode.py 复跑,测试依赖不进入发布包。旧 VFS 阻断已不在当前版本复现。