二维码里面包含了信息,二维码不仅保存成图片,也可以以字符的形式存储在文本文件中,这个工具就是 qrencode
yum install qrencode
qrencode -h
qrencode version 3.4.1
Copyright (C) 2006-2012 Kentaro Fukuchi
Usage: qrencode [OPTION]... [STRING]
Encode input data in a QR Code and save as a PNG or EPS image.
-h display this message.
--help display the usage of long options.
-o FILENAME write image to FILENAME. If '-' is specified, the result
will be output to standard output. If -S is given, structured
symbols are written to FILENAME-01.png, FILENAME-02.png, ...
(suffix is removed from FILENAME, if specified)
-s NUMBER specify module size in dots (pixels). (default=3)
-l {LMQH} specify error correction level from L (lowest) to H (highest).
(default=L)
-v NUMBER specify the version of the symbol. (default=auto)
-m NUMBER specify the width of the margins. (default=4 (2 for Micro))
-d NUMBER specify the DPI of the generated PNG. (default=72)
-t {PNG,EPS,SVG,ANSI,ANSI256,ASCII,ASCIIi,UTF8,ANSIUTF8}
specify the type of the generated image. (default=PNG)
-S make structured symbols. Version must be specified.
-k assume that the input text contains kanji (shift-jis).
-c encode lower-case alphabet characters in 8-bit mode. (default)
-i ignore case distinctions and use only upper-case characters.
-8 encode entire data in 8-bit mode. -k, -c and -i will be ignored.
-M encode in a Micro QR Code.
--foreground=RRGGBB[AA]
--background=RRGGBB[AA]
specify foreground/background color in hexadecimal notation.
6-digit (RGB) or 8-digit (RGBA) form are supported.
Color output support available only in PNG and SVG.
-V display the version number and copyrights of the qrencode.
[STRING] input data. If it is not specified, data will be taken from
standard input.
主要参数就是-t
,以什么样的形式输出结果。
[root@localhost www]# qrencode -t UTF8 raoxiaoya
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ █▀ █ ▄█ ▄▄▄▄▄ ████
████ █ █ █▄ █▀▄█ █ █ ████
████ █▄▄▄█ █ ██▀ █ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ ▀ ▀ █▄▄▄▄▄▄▄████
████▄▄█▄▀█▄▄▀▄▄██▀ ▄ ▀▄ ▀████
█████▄ █▄▄▄▄ █ ▀▄█ ▄▀ ▄▀▄████
████▄█▄▄▄▄▄█▀▀▄▀▄██ ██▀▀ ████
████ ▄▄▄▄▄ █▄▄▄▀▀ █▄▄██▄█████
████ █ █ █▀▄ █▄▄▀▀▄▀ ▀████
████ █▄▄▄█ █▀█ █▄▀▀▄ █▄█▄████
████▄▄▄▄▄▄▄█▄▄█▄▄██▀█▄█▄█████
█████████████████████████████
█████████████████████████████
[root@localhost www]# qrencode -t ASCII raoxiaoya
############## ## #### ##############
## ## #### ## ## ##
## ###### ## #### ## ## ###### ##
## ###### ## ## ## ## ###### ##
## ###### ## ## ## ## ###### ##
## ## ## #### ## ##
############## ## ## ## ##############
##########
#### ## #### #### ###### ####
## ## #### #### ####
#### ########## ## ## #### #### ##
## ## #### ## #### ##
## ########## ## ## ## ##
#### ## ## ######
############## ###### ## #### ##
## ## ######
## ###### ## ###### #### ## ##
## ###### ## ## #### #### ######
## ###### ## ## ## #### ## ##
## ## ## ## #### ##
############## #### #### ## ##
[root@localhost www]# qrencode -t ASCIIi raoxiaoya
##########################################################
##########################################################
##########################################################
##########################################################
######## #### ## ## ########
######## ########## ## ## #### ########## ########
######## ## ## ## #### ## ## ## ########
######## ## ## #### ## #### ## ## ########
######## ## ## ## ###### ## ## ## ########
######## ########## ## #### ## ########## ########
######## ## ## ## ## ########
######################## ########################
######## ## #### ## ###### ## ##########
################ ###### ######## ## ## ########
########## ## ## ## ## ## ## ########
############ ########## ## #### ## ## ##########
######## ## ###### ## #### ######## ########
######################## ## ###### #### ########
######## ## #### ## #### ##########
######## ########## ######## ######################
######## ## ## #### ## #### ## ##########
######## ## ## ## ## ###### ## ########
######## ## ## ###### ## #### ## ## ########
######## ########## ## ## #### ## ################
######## ## ## ######## ## ##########
##########################################################
##########################################################
##########################################################
##########################################################
UTF8
是最好识别的,ASCII
是黑底白字,ASCIIi
是白底黑字。在识别后两个的时候手机要拿远点。
因为它是由大量重复的字符组成,因此可以使用gzip压缩一下。
qrencode -t ASCII raoxiaoya | wc -c
1711
qrencode -t ASCII raoxiaoya | gzip | wc -c
176
由于压缩后就成了不可打印的字符,我们使用base64转码即可
qrencode -t ASCIIi raoxiaoya | gzip | base64
H4sIAEbxRmcAA9VTQQrAMAi77xWD/v+POxSpSdTZXsaEQrGNmqhjnNp1jPwaeoNNz/RGbwRd8TwoegugFnVB7Y5vL9AF2obal2ZWDGPiNbiiinhKhdn0Kxtk5TIXX/aEWb08GJTBlwchL+SqkkHWeKJ0uoSrShONYlNhZp6OP/dVyy0K1nvV2XL8sSENmbgpnnnCVbcjWoPm5mTbI1BVGAcv5bpv/4M+cVEcdq8GAAA=
想要展示的时候反解码解压缩即可,注意要搞成一行。
echo H4sIAEbxRmcAA9VTQQrAMAi77xWD/v+POxSpSdTZXsaEQrGNmqhjnNp1jPwaeoNNz/RGbwRd8TwoegugFnVB7Y5vL9AF2obal2ZWDGPiNbiiinhKhdn0Kxtk5TIXX/aEWb08GJTBlwchL+SqkkHWeKJ0uoSrShONYlNhZp6OP/dVyy0K1nvV2XL8sSENmbgpnnnCVbcjWoPm5mTbI1BVGAcv5bpv/4M+cVEcdq8GAAA= | base64 --decode | gzip -d
##########################################################
##########################################################
##########################################################
##########################################################
######## #### ## ## ########
######## ########## ## ## #### ########## ########
######## ## ## ## #### ## ## ## ########
######## ## ## #### ## #### ## ## ########
######## ## ## ## ###### ## ## ## ########
######## ########## ## #### ## ########## ########
######## ## ## ## ## ########
######################## ########################
######## ## #### ## ###### ## ##########
################ ###### ######## ## ## ########
########## ## ## ## ## ## ## ########
############ ########## ## #### ## ## ##########
######## ## ###### ## #### ######## ########
######################## ## ###### #### ########
######## ## #### ## #### ##########
######## ########## ######## ######################
######## ## ## #### ## #### ## ##########
######## ## ## ## ## ###### ## ########
######## ## ## ###### ## #### ## ## ########
######## ########## ## ## #### ## ################
######## ## ## ######## ## ##########
##########################################################
##########################################################
##########################################################
##########################################################
可以在二维码下面追加一点信息
#! /bin/bash
rm -rf qrencode.out
qrencode -t ASCIIi https://github.com/raoxiaoya -o qrencode.out
cat >> qrencode.out <<EOF
email: xxxxxxx@qq.com
wechat: xxxxxxx
EOF
cat qrencode.out | gzip | base64
./qrencode.sh
H4sIAMjyRmcAA91TQQrCMBC85xWB3n2AJ79SSkHBIgVBn+9BanZmZ5NgL+JCoUk2s7Mzm2HYG2k3wq9BZIhtr5xEOQBRcLcLCK5yHIRNZRiV04DAmlFOF4TtvAOC/0t6pxaotv6qjqi+y8UoS7Cwlcq+PeemnRZWTLyK5KUWFoad0S41WLCwTN6uQAtbkVd+OkQjaKfVwDOtjpay0fMIWVhH1FNXHCQLpI6V2VpigcGPHkctMBXroJ0odAgRyWeng1cOwtvKg47j1oDgMcN2pZyehXbJv9aqFuyJV6bhCK+8tQTxffwPRMoU8zJersf8fMdpXQ/TbXFZj3k6j/dPWnoBOj2XC+oIAAA=
echo H4sIAMjyRmcAA91TQQrCMBC85xWB3n2AJ79SSkHBIgVBn+9BanZmZ5NgL+JCoUk2s7Mzm2HYG2k3wq9BZIhtr5xEOQBRcLcLCK5yHIRNZRiV04DAmlFOF4TtvAOC/0t6pxaotv6qjqi+y8UoS7Cwlcq+PeemnRZWTLyK5KUWFoad0S41WLCwTN6uQAtbkVd+OkQjaKfVwDOtjpay0fMIWVhH1FNXHCQLpI6V2VpigcGPHkctMBXroJ0odAgRyWeng1cOwtvKg47j1oDgMcN2pZyehXbJv9aqFuyJV6bhCK+8tQTxffwPRMoU8zJersf8fMdpXQ/TbXFZj3k6j/dPWnoBOj2XC+oIAAA= | base64 --decode | gzip -d
##################################################################
##################################################################
##################################################################
##################################################################
######## ###### #### #### ########
######## ########## #### ###### ## ########## ########
######## ## ## ## #### ###### #### ## ## ########
######## ## ## #### ################ ## ## ########
######## ## ## #### #### #### ## ## ########
######## ########## ###### ## ## ########## ########
######## ## ## ## ## ## ## ########
######################## #### ## ############################
######## ## ###### #### ###### ############
######## #### ## #### #### ## ########## ########
############ #### ## #### ## #### #### ########
######## #### ## ## ## #### ############ ##########
######## ## ## ## ## ## ## #### ## ########
########## ## ## ## ######## #### #### ########
######## ###### ## ############ ## #### ########
########## ## ## ###### #### #### #### #### ##########
######## ###### ######## #### ##############
######################## ## ## #### ###### ## ########
######## ## ## #### ## ## ## ## ########
######## ########## ## ## ## ###### ## ##########
######## ## ## ## ## #### ## ##########
######## ## ## #### ## ## ######## ############
######## ## ## ## ## ###### ###### ###### ########
######## ########## ## ## ## #### ## ## ##########
######## ## ## ## ###### ########
##################################################################
##################################################################
##################################################################
##################################################################
email: xxxxxxx@qq.com
wechat: xxxxxxx