从终端读取QR码

时间:2017-04-28 12:02:12

标签: terminal qr-code

我正在开发一个需要显示QR码的C应用程序。我没有编写GUI代码,而是想直接将它显示在终端上。但是,标准的QR码阅读器希望代码是方形的,但是当在linux终端中打印时,它看起来是矩形的。

如何解决这个问题?尝试以方形形式打印代码可能是保持与标准QRC阅读器兼容的最佳选择。说实话,我甚至都不知道QRC阅读器是否可以解释终端显示的代码(根据使用的字符,它可能是可读的吗?)。

······· · ·    ··   · ·······
·     · ·  ·· ··    · ·     ·
· ··· ·        ···    · ··· ·
· ··· · ·· ····   ··  · ··· ·
· ··· · ·      · ··   · ··· ·
·     · ·    ·  ····· ·     ·
······· · · · · · · · ·······
           · ···   ·         
   ·  ·  ·  ·   ··     ··· ··
  ···· ····  ····  ·····    ·
 · ···· · · ··   ·  · ··  ·· 
·   ·  ··     ·   ·  ······· 
 ·  ··· · · ·· · · ·  ··     
 ····      ···· ·· ··· · · · 
· ·· ····   · ····  ··     ··
  ·      · ·  ··· ··  ··   · 
 ·· · ···  ···   ···       · 
    ·· ·  ·· ·  ·  ··· ·   ··
·    ··  ··  ·  · ·  · ·   ··
    ··  ···· ·· · ·     ··   
·   · ·    ·  ·· ·  ····· · ·
        · ···   ··· ·   ·  ··
·······  ··  ·    · · · ···· 
·     ·    ·· ···   ·   · · ·
· ··· ·      ·  · · ······ · 
· ··· · ··      ·· ···· ··  ·
· ··· ·  ···  ·  · ··   · · ·
·     ·   · ·· · · ·  ··   · 
·······  ···     ··   · ·· · 

1 个答案:

答案 0 :(得分:1)

这取决于使用的确切字体以及终端是否支持字符,但我会针对您需要的每个黑色方块尝试以下内容:██

这是两个U + 2588 FULL BLOCK字符。然后,对于每个白色方块,只需使用两个常规空间。

编辑:只需阅读丛马的评论和链接的源代码。简单地看了一遍,看起来他们使用了这个想法的变体,但是使用半块字符(▀和)一次打印两行,这样输出最终是我上面的方法的四分之一是