Java implementa varios métodos para generar códigos QR, de la siguiente manera:
1: Genere el código QR en el proyecto Java usando SwetakeQRCode
http://swetake.com/qr/ Descargar dirección
O http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip
Esto es escrito por los japoneses y genera el código Square QR que usamos comúnmente.
Se puede usar en chino
Por ejemplo: 56777777GHJJJJJJ
2: Use BarCode4J para generar código de barras y código QR
Barcode4j URL: http://sourceforge.net/projects/barcode4j/
BarCode4J es un algoritmo de generación de código QR usando Datamatrix, que admite el algoritmo QR
Datamatrix es un estándar en Europa y América, y QR es un estándar en Japón.
Barcode4j generalmente se genera como rectangular
Por ejemplo: 887777alec000yan
3: Zxing
Zxing esto es de Google
Descargar dirección: http://code.google.com/p/zxing/downloads/list
Código Java:
import java.io.file; import java.util.hashtable; import com.google.zxing.barcodeFormat; import com.google.zxing.encodeHintType; import com.google.zxing.multiformatwriter; import com.google.zxing.client.j2se.matrtexoimagewriter; import com.google.zxing.common.bitmatrix; import com.google.zxing.qrcode.qrcodewriter; Public Class QrCodeevents {public static void main (string [] args) lanza excepción {string text = "hello"; int ancho = 100; int altura = 100; Formato de cadena = "png"; Sugerencias hashtables = new Hashtable (); hints.put (encodeHintType.character_set, "UTF-8"); BitMatrix bitMatrix = new MultiformAtWriter (). ENCODE (Text, BarCodeFormat.qr_code, ancho, altura, sugerencias); Archivo outputFile = nuevo archivo ("new.png"); MatrixteoImageWriter.writeToFile (bitmatrix, formato, outputFile); }}4: Hay una manera de implementar el código QR en la API del gráfico de Google
Usando esta API, use Google Appengine para implementarlo.
5: JS genera código QR
Genere el código QR usando jQuery-QrCode
Hablemos brevemente sobre jQuery-Qrcode, una biblioteca de tres partes de código abierto (se puede obtener de https://github.com/jeromeetienne/jquery-qrcode).
QRCode.js es la clase central que implementa el cálculo de datos del código QR.
jQuery.qrcode.js lo encapsula en el método jQuery y lo usa para realizar una representación gráfica, que en realidad está dibujando (admite dos formas de lienzo y mesa)
Las principales funciones compatibles son:
Código JS:
Texto: "https://github.com/jeromeetienne/jquery-qrcode" // establece el contenido del código QR
Código JS:
Render: "Canvas", // Establecer el ancho del modo de representación: 256, // Establecer el ancho de la altura: 256, // Establecer la altura Typenumin: -1, // Modo de cálculo Correcto: Qrerrorcorrectlevel.h, // Error Nivel de corrección Nivel de fondo: "#ffffff", // Color de fondo de fondo: "#00000000" // en el color de la franja franal
Cómo usar es muy simple
Código JS:
jQuery ('#output'). Qrcode ({ancho: 200, altura: 200, correcto: 0, texto: contenido});Después de la simple práctica,
El rendimiento de representación utilizando el método de lienzo sigue siendo muy bueno, pero si usa el método de tabla, el rendimiento no es ideal, especialmente para los navegadores por debajo de IE9, por lo que debe optimizar el método de representación de la tabla por sí mismo, por lo que no lo explicaré en detalle aquí.
De hecho, el JS anterior tiene una pequeña desventaja, es decir, no es compatible con el chino de forma predeterminada.
Esto tiene algo que ver con el mecanismo JS. La biblioteca jQuery-Qrcode utiliza el método Charcodeat () para codificar y conversión.
Este método obtendrá su codificación unicode de forma predeterminada. En general, los decodificadores usan UTF-8, ISO-8859-1 y otros métodos.
No hay problema con el inglés. Si es chino, Unicode generalmente se implementa en UTF-16, con una longitud de 2 dígitos, mientras que la codificación UTF-8 es de 3 dígitos, por lo que la codificación y decodificación del código QR no coincide.
La solución es, por supuesto, convertir la cadena en UTF-8 antes de codificar el código QR. El código específico es el siguiente:
función utf16to8 (str) {var out, i, len, c; out = ""; len = str.length; para (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) y 0x0f)); out += string.FromCharCode (0x80 | ((c >> 12) y 0x0f)); out += string.FromCharCode (0x80 | ((c >>> 6) y 0x3f)); out += string.FromCharCode (0x80 | ((c >> 0) y 0x3f)); } else {out += string.FromCharCode (0xc0 | ((c >> 6) y 0x1f)); out += string.FromCharCode (0x80 | ((c >> 0) y 0x3f)); }} return out; }Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.