Java implementa vários métodos para gerar códigos QR, como segue:
1: Gere código QR no projeto Java usando Swetakeqrcode
http://swetake.com/qr/ Download Endereço
Ou http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip
Isso é escrito pelos japoneses e gera o código QR quadrado que geralmente usamos.
Pode ser usado em chinês
Por exemplo: 5677777ghjjjjjj
2: Use Barcode4J para gerar código de barras e código QR
Barcode4J URL: http://sourceforge.net/projects/barcode4j/
Barcode4J é um algoritmo de geração de código QR usando Datamatrix, que suporta o algoritmo QR
A Datamatrix é um padrão na Europa e na América, e o QR é um padrão no Japão.
barcode4j é geralmente gerado como retangular
Por exemplo: 88777Alec000yan
3: Zxing
zxing isso é do google
Endereço para download: http://code.google.com/p/zxing/downloads/list
Código Java:
importar java.io.file; importar java.util.hashtable; importar com.google.zxing.barcodeFormat; importar com.google.zxing.encodehinttype; importar com.google.zxing.multiformatwriter; importar com.google.zxing.client.j2se.matrixtoimagewriter; importar com.google.zxing.common.bitmatrix; importar com.google.zxing.qrcode.qrcodewriter; public class qrcodeevents {public static void main (string [] args) lança exceção {string text = "hello"; int width = 100; int altura = 100; String format = "png"; Dicas de hashtable = new Hashtable (); Hints.put (codehinttype.character_set, "utf-8"); BitMatrix bitMatrix = new MultInFalMatWriter (). Encode (texto, barcodeFormat.qr_code, largura, altura, dicas); Arquivo outputfile = novo arquivo ("new.png"); MatrixToImageWriter.WriteToFile (BitMatrix, Format, OutputFile); }}4: Existe uma maneira de implementar o código QR na API do Gráfico do Google
Usando esta API, use o Google AppEngine para implementá -lo.
5: JS gera código QR
Gerar código QR usando JQuery-Qrcode
Vamos falar brevemente sobre o JQuery-Qrcode, uma biblioteca de três partes de código aberto (pode ser obtido em https://github.com/jeromeetienne/jquery-qrcode).
Qrcode.js é a classe principal que implementa o cálculo dos dados do código QR.
jquery.qrcode.js o encapsula no método jQuery e o usa para render a renderização gráfica, que está realmente desenhando (suporta duas maneiras de tela e tabela)
As principais funções suportadas são:
Código JS:
Texto: "https://github.com/jeromeetienne/jquery-qrcode" // Defina o conteúdo do código QR
Código JS:
Render: "Canvas", // Defina o modo de renderização Largura: 256, // Defina a altura da largura: 256, // Defina o tipo de tipagem de altura: -1, // Modo de computação correto: qRerRorCorrectlevel.h, // Background de correção de correção de erro: "#ffffff, // coloração de fundo:" 000000 "
Como usar é muito simples
Código JS:
jQuery ('#output'). Qrcode ({width: 200, Height: 200, corrigilLEvel: 0, texto: content});Após a prática simples,
O desempenho da renderização usando o método Canvas ainda é muito bom, mas se você usar o método da tabela, o desempenho não será o ideal, especialmente para os navegadores abaixo do IE9, então você precisará otimizar o método de renderização da tabela sozinho, para que não o explique em detalhes aqui.
De fato, o JS acima tem uma pequena desvantagem, ou seja, não suporta chinês por padrão.
Isso tem algo a ver com o mecanismo JS. A biblioteca jQuery-QRCode usa o método Charcodeat () para codificar e conversão.
Este método obterá sua codificação Unicode por padrão. Geralmente, os decodificadores usam UTF-8, ISO-8859-1 e outros métodos.
Não há problema com o inglês. Se for chinês, o Unicode geralmente é implementado no UTF-16, com um comprimento de 2 dígitos, enquanto a codificação UTF-8 é de 3 dígitos, portanto a codificação e decodificação do código QR não corresponde.
A solução é obviamente, converta a sequência em UTF-8 antes de codificar o código QR. O código específico é o seguinte:
função utf16to8 (str) {var out, i, len, c; out = ""; len = str.length; for (i = 0; i <len; i ++) {c = str.charcodeat (i); if ((c> = 0x0001) && (c <= 0x007f)) {out += str.Charat (i); } else if (c> 0x07ff) {out += string.fromCharcode (0xe0 | ((c >> 12) e 0x0f)); out += string.FromCharCode (0x80 | ((c >> 12) e 0x0f)); out += string.FromCharCode (0x80 | ((c >>> 6) e 0x3f)); out += string.FromCharCode (0x80 | ((c >> 0) e 0x3f)); } else {out += string.fromCharcode (0xc0 | ((c >> 6) e 0x1f)); out += string.FromCharCode (0x80 | ((c >> 0) e 0x3f)); }} retornar; }O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.