Sim! Existe um utilitário chamado qrencodeque pode renderizá-los para você.
O único fator realmente importante para um código QR é que a matriz 2D possui pixels/segmentos " mais escuros " e " mais claros ". Também pode ser colorido, embora o contraste possa começar a ser um problema.
ASCII
Sua capacidade de ler esse código QR provavelmente dependerá da resolução da câmera, da distância e do software que você está usando.
Alguns dos caracteres brutos gravados no terminal são mostrados abaixo, são códigos de escape ANSI . Um caractere de " escape " tem um valor de 0x1be geralmente pode ser escrito como \e.
\e[40mdefine a cor de fundo para preto
\e[47mdefine a cor de fundo para branco
0x20é um espaço ASCII
UTF-8
Há também um modo UTF-8 ( -t UTF8). Este modo usa os caracteres " meio bloco " para aumentar a densidade e reduzir a contagem de linhas pela metade.
A resposta de Attie com qrencodeé ótima, mas por algum motivo sempre gera um código qr com cores invertidas que meu aplicativo Barcode Scanner não consegue ler.
Inverter a saída UTF-8 dificilmente é trivial, então pensei em deixar aqui para outros;)
qrencode=`qrencode -t UTF8 "https://superuser.com/q/1420001/551559"`
echo "${qrencode}"
# replace black
qrencode=$(echo "${qrencode}" | sed s/`echo -e '\xe2\x96\x88'`/A/g)
echo "${qrencode}"
# replace white
qrencode=$(echo "${qrencode}" | sed s/\ /B/g)
echo "${qrencode}"
# swap black for white
qrencode=$(echo "${qrencode}" | sed s/A/\ /g)
echo "${qrencode}"
# swap white for black
qrencode=$(echo "${qrencode}" | sed s/B/`echo -e '\xe2\x96\x88'`/g)
echo "${qrencode}"
# replace "Upper Half Block"
qrencode=$(echo "${qrencode}" | sed s/`echo -e '\xe2\x96\x80'`/A/g)
echo "${qrencode}"
# replace "Lower Half Block"
qrencode=$(echo "${qrencode}" | sed s/`echo -e '\xe2\x96\x84'`/B/g)
echo "${qrencode}"
# swap upper for lower
qrencode=$(echo "${qrencode}" | sed s/A/`echo -e '\xe2\x96\x84'`/g)
echo "${qrencode}"
# swap lower for upper
qrencode=$(echo "${qrencode}" | sed s/B/`echo -e '\xe2\x96\x80'`/g)
echo "${qrencode}"
Eu uso isso para poder assinar criptograficamente uma mensagem de texto simples utf-8 com um qr-code e exibi-la em meu site em html.
Para conseguir isso sem que o html quebre a legibilidade do código qr com espaçamento entre linhas, coloquei o código qr dentro de um <pre>bloco com estilos css da seguinte forma:
Sim! Existe um utilitário chamado
qrencode
que pode renderizá-los para você.O único fator realmente importante para um código QR é que a matriz 2D possui pixels/segmentos " mais escuros " e " mais claros ". Também pode ser colorido, embora o contraste possa começar a ser um problema.
ASCII
Sua capacidade de ler esse código QR provavelmente dependerá da resolução da câmera, da distância e do software que você está usando.
Observação: usei
-t ASCIIi
(ASCII invertido) porque meu terminal é branco sobre preto.ANSI
Este modo funciona definindo a cor de fundo como preto ou branco e imprimindo vários caracteres de espaço.
Alguns dos caracteres brutos gravados no terminal são mostrados abaixo, são códigos de escape ANSI . Um caractere de " escape " tem um valor de
0x1b
e geralmente pode ser escrito como\e
.\e[40m
define a cor de fundo para preto\e[47m
define a cor de fundo para branco0x20
é um espaço ASCIIUTF-8
Há também um modo UTF-8 (
-t UTF8
). Este modo usa os caracteres " meio bloco " para aumentar a densidade e reduzir a contagem de linhas pela metade.Captura de tela de @grawity (obrigado)
A resposta de Attie com
qrencode
é ótima, mas por algum motivo sempre gera um código qr com cores invertidas que meu aplicativo Barcode Scanner não consegue ler.Inverter a saída UTF-8 dificilmente é trivial, então pensei em deixar aqui para outros;)
Eu uso isso para poder assinar criptograficamente uma mensagem de texto simples utf-8 com um qr-code e exibi-la em meu site em html.
Para conseguir isso sem que o html quebre a legibilidade do código qr com espaçamento entre linhas, coloquei o código qr dentro de um
<pre>
bloco com estilos css da seguinte forma:Para um exemplo ao vivo, consulte