二维码基础之:js encode/decode QRCode

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linysuccess/article/details/87931067


本篇介绍二维码的基础,包括编码、解码,以及相应的纯前端(JavaScript)实现。

二维码编码

二维码本质上是文本信息的一种图形化表示。任何文本字符串进行二进制0-1编码后,按照特定规则排放到方形点阵图形上,其中黑点表示1,白点表示0,如此便可“编码”出一个二维码图形。

二维码的实际应用中,一个二维码通常用来编码一串URL。URL本身就是互联网世界的入口,随着智能手机普及和“扫一扫”的流行,二维码就成为移动互联网的绝佳入口。

注意,文本信息越长,编码后二维码点阵数量越多,识别起来就相对会困难些。作为一物一码来讲,比较理想的URL长度≤32。

在纯前端实现上,jquery.qrcode.js以及很多前端开发框架都集成了二维码编码的功能。二维码图形在HTML页面上的呈现通常有2中做法:

  • HTML table实现,每个table-cell表示二维码点阵中一个点
  • 在Canvas上面画出黑白的点阵
二维码解码

根据一张包含二维码的图片识别出二维码中的文本信息。解码的算法在很多后端语言都有相应的实现版本,前端js版本也有。参考GitHub:LazarSoft/jsqrcode

某一物一码官网也有二维码解码功能,具体可查看http://www.jixiangma.cn/?page=tool

注:实际上是没有上传图片的过程的,整个解码过程在浏览器端完成。
吉祥码二维码解码工具

解码的js调用类似下面的样子:

qrcode.decode(imageFile, function(codeText) {
    console.log(codeText);
});

猜你喜欢

转载自blog.csdn.net/linysuccess/article/details/87931067