在终端或控制台显示文本二维码

Kaffa 发布于 最后修改

分类: 文章 标签: Text QRCode

文本二维码

简单讲,二维码是一个算法,可以把信息编码为0和1,也就是视觉上的暗和明、黑和白、有和无。

大多情况下,二维码用一个方形的图片表达,它可以方便地传递信息,或连接线上线下。

但有时我们也有以文本形式展示二维码的需求,例如在终端或控制台程序中。

下面即一个文本二维码

 ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
 █ ▄▄▄▄▄ █▀▄█▀ █▀ █▀█▄▀█ ▄▄▄▄▄ █
 █ █   █ █▄   ▄▀ ▀▄▄█▀▀█ █   █ █
 █ █▄▄▄█ █ ▀█▀█▄█▀   ▀▀█ █▄▄▄█ █
 █▄▄▄▄▄▄▄█ ▀▄█ █ ▀▄▀▄▀ █▄▄▄▄▄▄▄█
 █▄▄█▄▀▀▄▄▀█ ▀█▀ ▀ ▀█▄█▀ ▄▄▀▄▄▀█
 █ ▀▀▀▄▀▄ █▄▄██ ██ ▄ ▄▄  ▄ ▄  ██
 █▄ ▄███▄███▀▀ █▀▀█▄█  ▀▄██▄█▄▄█
 ██▄▄ ▄█▄ ▄▀██ ▀▀█ ▀▀▀▄ ▀██ ▄ ▄█
 █▄▀▀▄▄ ▄▄▄ ▀▄██▄█▄ ██▄▄▀▀█▀█▄▀█
 █▄█▄▀▀ ▄▀▄█▄▀██▀█▄▀▀█▄▄▄▄▀██  █
 █▄██▄▄▄▄█  ▀  ▄▀█ █▄▄ ▄▄▄ █ ▀▀█
 █ ▄▄▄▄▄ █▄█▄   █▀▀▄▀█ █▄█ ▀▀ ▀█
 █ █   █ █▀▄▄ █▀▄█▀▄█▀▄▄   ▀▀▀██
 █ █▄▄▄█ █▀ █ █▄▄█▀ █▀ ██▀▄▄▄▀▄█
 █▄▄▄▄▄▄▄█▄█▄█▄▄█▄█▄▄█▄▄█▄█▄█▄██

通常它两行一列编码为一个半角字符,这个二维码的显示需要两个前提:

  1. 使用等宽字体:比如:'Lucida Console', Menlo。
  2. 使用明暗差别大的字符代表二维码的状态,比如:█。
  3. 行高设置为一个字符高,以让整体显示为正方形。

当然,能否扫描出结果,也取决于扫描设备,环境光线容差等因素。

Windows Tips:如果终端控制台中出现文本二维码散乱情况,可调整控制台字体为等宽字体。 可复制二维码到记事本,字体选择为:Lucida Console 5号字,再进行全选,即可显示出可扫描的二维码。