将矩阵打印为黑白方块,类似于QR码

时间:2016-08-10 15:17:05

标签: c++ arrays matrix unicode qr-code

我正在用C ++实现一个微型QR码生成器,我想打印最终矩阵,它生成一组黑白方块,看起来像一个真正的QR码。我的矩阵由10的整数值组成(我的代码中有一个原因,而不是使用布尔值),我想打印一个黑色方块,值为{ {1}}或白色方块,其值为1

我当前的代码(请参见下文或测试here)使用Unicode字符0\u2b1c来获得类似于我想要的结果,但它不够方便无法扫描通过QR码扫描仪。

代码

\u2b1b

限制

  • 我只能使用ASCII或Unicode字符来执行此操作,而不能使用任何绘图库或包(原因很复杂,但这是我的规范)。
  • 我需要将实现尽可能地与平台无关,并且如果可能的话,使用通用的QR代码扫描器进行扫描就足够了。
  • 我希望它看起来像Ideone这样的东西,它有白色背景,而不是大多数终端的黑色背景。

2 个答案:

答案 0 :(得分:1)

一种可能的替代方法是使用空格字符表示0和Unicode字符' FULL BLOCK' (U + 2588)█代表1。

test_create_table.table_name = "Fancy Table"

您可以看到here的样子,其中我还使用了一对每个字符来考虑字体宽高比。

答案 1 :(得分:0)

我在程序中使用的块符号小于完整块和空格,请在此处查看:https://github.com/Y2Z/qr

█,空白,▀和使生成的QR码比仅使用█和空白生成的QR码紧凑四倍。

希望有帮助!