我正在使用libqrencode。
我想要一个版本 1 (21x21) 和ECC H 级的 QR 码。根据http://www.qrcode.com/en/about/version.html我可以有 17 个数字。所以我这样做:
QRcode *result;
QRinput *input = QRinput_new2(1, QR_ECLEVEL_H);
unsigned char *data = new unsigned char[17];
for(int i = 0; i < 17; i++) {
data[i] = 0;
}
QRinput_append(input, QR_MODE_NUM, 17, data);
result = QRcode_encodeInput(input);
int idx = 0;
printf("%d\n", result->width);
for(int i = 0; i < result->width; i++) {
for(int j = 0; j < result->width; j++) {
if(result->data[idx] & 1) {
printf("%d", 1);
} else {
printf("%d", 0);
}
idx++;
}
printf("\n");
}
但是无论我的数据是什么,我的程序都会返回相同的输出。
我在这里缺少什么?