程序员是怎么分享微信二维码的

  你还在平平无奇的把微信二维码截图保存,然后再转发给其他人吗?不得不说一句,这也太low了。今天小编给你支一招,让你瞬间提升B格,把格局打开,让你的小伙伴见了都不得不给你递一杯卡布奇诺。
在这里插入图片描述
在这里插入图片描述

1、预期成果

  目的是要把你的微信二维码信息隐藏在一段字符串中,然后对这段字符串解码,就会在linux终端用ascii码生成你的二维码名片,效果大概如下:(这是小编的个人博客主页,各位小伙伴点点关注❤️❤️❤️)

图1 ASCII表示二维码
图2 UTF-8表示二维码

2、制作过程

2.1 二维码转换

  首先你要把想要制作的二维码保存下来,比如微信名片,就把自己的微信二维码保存下来,然后利用一些在线网页工具提取二维码中的信息,这里小编找了好多网站,大部分网站生成的字符串是不能直接跳转到个人微信名片的,而只是微信主页,在这里推荐两个网站,可以直接使用。
草料二维码解码器
在线二维码解码器
  当我们把二维码图片解码后,就会生成一个像URL的一串字符串,为什么说像URL,因为复制到网页是打不卡的,只能跳转到微信的主页。
在这里插入图片描述
在这里插入图片描述
  这个像URL的字符串就是我们需要的东西,这里面就包含着微信二维码名片的核心内容,你可以使用任何在线工具或者其他方法将这个字符串转为二维码,微信都可以扫出来。

https://u.wechat.com/EIEmULxxxxxx-xxxxxxxxxx

2.2 生成文本二维码

2.2.1 qrencode工具介绍

  这里就可以借助linux中的一些工具,在终端生成二维码,这里我们使用qrencode。直接复制下面的指令并输入密码就可以下载并安装。

sudo yum install libpng libpng-devel qrencode -y

  这个工具就可以在终端生成二维码,具体用法如下:

[[email protected] ~]$ qrencode [OPTION] [STRING]
OPTIONS:
  -o:输出的二维码文件名。如xd.png。-表示输出到控制台。
  -s:指定图片大小,默认为3个像素。
  -t:指定产生的图片类型。默认为PNG。可以是PNG/ANSI/ANSI256/ASCIIi/UTF8等。
STRING:
  可以是text、url等格式

2.2.2 使用工具生成二维码

  此时我们就可以直接通过该工具生成utf-8或者ascii形式的二维码。
在这里插入图片描述

2.3 二维码与命令结合

  上述虽然在linux终端生成了二维码,但这并不是我们想要的,因为此时没有安装qrencode工具的人是无法获取二维码的,难道你分享二维码的时候还要让人家安装其他工具,这么麻烦的事情我们肯定是不想要的。
  其实生成的二维码是由大量的#字符组成的,我们可以利用gzip工具对其进行压缩,但是gzip的压缩后并不是可打印字符集,没法在终端界面显示,此时就要使用 base64 编码来加工一下。

[[email protected]-4-5-centos ~]$ qrencode -t ascIIi https://u.wechat.com/EIEmULxxxxxx-xxxxxxxxxx | gzip | base64

在这里插入图片描述

  这样我们就得到了一串经过base64编码后的字符串,这段字符串解码并解压后就是我们的二维码。
在这里插入图片描述
  所以我们只需把如下信息分享给对方,对方在自己linux终端执行该代码,就可以生成你的微信二维码。

echo "H4sIAEhFe2IAA92UQQ7EMAgD7/uKlfr/P+6hqmCMQ+n2UhWpaoSIY2ySbbsbn9sIT4P4Io7cnu9q
ABG4+9YjF1u0xkB0pQGrNUuIWAftixDkMmahcOQy0IJq+691pEbWIG/RMCzURoqZ7W4aUflUqwVE
ljHPAvnlKsOi+2vWOqIGZlvZqsorLFQB5XEiZx1s1YE8Gi14RymgSm1YqIF1VrSNZjoJR1FZ2d6R
yLu7stRCT1YPTuTkiZR1oIV/tbwnTSO+7zrk41fLQZPXyBGu65MAiP/jPRA/IKTk26MIAAA=" | base64 --decode | gzip -d

3、总结

  <1>.利用工具将微信二维码转换成字符串
  <2>.使用qrencode工具,把字符串生成的二维码压缩、编码
  <3>.利用base64解码并解压,即可
说白了就两行代码:

qrencode -t [ASCIIi 或 UTF8] +工具生成的字符串 | gzip | base64
echo +“上一行代码生成二点一长串字符串” | base64 --decode | gzip -d 

猜你喜欢

转载自blog.csdn.net/weixin_43202123/article/details/124705895