Java implémente plusieurs méthodes de génération de codes QR, comme suit:
1: générer du code QR dans le projet Java à l'aide de SwetakeQrcode
http://swetake.com/qr/ Adresse de téléchargement
Ou http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip
Ceci est écrit par les Japonais et génère le code QR carré que nous utilisons couramment.
Peut être utilisé en chinois
Par exemple: 5677777GHJJJJJjj
2: Utilisez Barcode4J pour générer un code-barres et un code QR
URL BARCODE4J: http://sourceforge.net/projects/barcode4j/
Barcode4j est un algorithme de génération de code QR utilisant Datamatrix, qui prend en charge l'algorithme QR
Datamatrix est une norme en Europe et en Amérique, et QR est une norme au Japon.
Barcode4j est généralement généré comme rectangulaire
Par exemple: 88777Alec000yan
3: zxing
zxing c'est de google
Télécharger l'adresse: http://code.google.com/p/zxing/downloads/list
Code Java:
Importer 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.matrixtoimagewriter; import com.google.zxing.common.bitmatrix; import com.google.zxing.qrcode.qrcodewriter; classe publique QrCodeevents {public static void main (String [] args) lève l'exception {String text = "Bonjour"; Int largeur = 100; int hauteur = 100; Chaîne format = "png"; HashTable Hints = new HashTable (); hint.put (encodeHintType.Character_set, "UTF-8"); BitMatrix BitMatrix = new MultiformatWriter (). Encode (texte, barcodeformat.qr_code, largeur, hauteur, indices); File OutputFile = new File ("new.png"); MatrixToimageWriter.WriteToFile (BitMatrix, Format, OutputFile); }}4: Il existe un moyen d'implémenter le code QR dans l'API Google Chart
À l'aide de cette API, utilisez Google Appegen pour l'implémenter.
5: JS génère du code QR
Générer du code QR à l'aide de jQuery-Qrcode
Parlons brièvement de jQuery-Qrcode, une bibliothèque triple open source (peut être obtenue à partir de https://github.com/jeromeetienne/jquery-qrcode).
Qrcode.js est la classe de base qui implémente le calcul des données du code QR.
jQuery.qrcode.js le résume dans la méthode jQuery et l'utilise pour réaliser le rendu graphique, qui est en fait des dessins (prend en charge deux façons de toile et de table)
Les principales fonctions prises en charge sont:
Code js:
Texte: "https://github.com/jeromeetienne/jquery-qrcode" // Définissez le contenu du code QR
Code js:
Rendu: "Canvas", // Définir le mode de rendu Largeur: 256, // Se définir la hauteur de largeur: 256, // Set Hight TypeNumber: -1, // Mode de calcul correct: QRERRORCORRECTLEVELL.H, // Correction d'erreur arrière
Comment utiliser est très simple
Code js:
jQuery ('# output'). qrcode ({width: 200, hauteur: 200, correctlevel: 0, text: contenu});Après une pratique simple,
Les performances de rendu utilisant la méthode Canvas sont toujours très bonnes, mais si vous utilisez la méthode de la table, les performances ne sont pas idéales, en particulier pour les navigateurs ci-dessous IE9, vous devez donc optimiser la méthode de rendu de la table par vous-même, donc je ne l'expliquerai pas en détail ici.
En fait, le JS ci-dessus a un petit inconvénient, c'est-à-dire qu'il ne prend pas en charge le chinois par défaut.
Cela a quelque chose à voir avec le mécanisme JS. La bibliothèque jQuery-Qrcode utilise la méthode Charcodeat () pour le codage et la conversion.
Cette méthode obtiendra son codage Unicode par défaut. Généralement, les décodeurs utilisent UTF-8, ISO-8859-1 et d'autres méthodes.
Il n'y a aucun problème avec l'anglais. S'il est chinois, Unicode est généralement implémenté dans UTF-16, avec une longueur de 2 chiffres, tandis que le codage UTF-8 est de 3 chiffres, donc le codage et le décodage du code QR ne correspondent pas.
La solution est bien sûr, convertir la chaîne en UTF-8 avant de coder le code QR. Le code spécifique est le suivant:
fonction utf16to8 (str) {var out, i, len, c; out = ""; Len = str.length; pour (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) & 0x0f)); out + = string.fromCharcode (0x80 | ((c >> 12) & 0x0f)); out + = string.fromCharcode (0x80 | ((c >>> 6) & 0x3f)); out + = string.fromCharcode (0x80 | ((c >> 0) & 0x3f)); } else {out + = string.fromCharcode (0xc0 | ((c >> 6) & 0x1f)); out + = string.fromCharcode (0x80 | ((c >> 0) & 0x3f)); }} return out; }Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.