Caractéristiques du code QR :
1. Codage haute densité, grande capacité d'informations
Peut accueillir jusqu'à 1850 lettres majuscules ou 2710 chiffres ou 1108 octets, ou plus de 500 caractères chinois, la capacité d'information est environ des dizaines de fois supérieure à celle des codes-barres ordinaires.
2. Large plage de codage
Ce code-barres peut coder des images, des sons, du texte, des signatures, des empreintes digitales et d'autres informations numérisées et l'exprimer avec des codes-barres, il peut représenter du texte ; dans plusieurs langues ; peut représenter des données d’image.
3. Forte tolérance aux pannes et fonction de correction des erreurs
Cela permet au code-barres 2D d'être lu correctement même s'il est partiellement endommagé en raison de perforations, de taches, etc. , les informations peuvent toujours être récupérées si 50 % de la zone endommagée est endommagée.
4. Haute fiabilité de décodage
Il est bien inférieur au taux d'erreur de décodage de codes-barres ordinaire de 2 parties par million, et le taux d'erreur binaire ne dépasse pas 10 millions. partie.
5. Des mesures de cryptage peuvent être introduites
Bonnes propriétés de confidentialité et anti-contrefaçon.
6. Faible coût, facile à fabriquer, durable
En raison des caractéristiques ci-dessus, les codes QR deviennent de plus en plus populaires et leurs applications deviennent de plus en plus nombreuses. répandu (Pour des informations détaillées, veuillez consulter l'Encyclopédie Baidu (l'introduction n'est pas l'objet de cet article), donc savoir comment développer des codes QR est une très bonne réserve de connaissances, donc cet article expliquera comment générer et analyser des codes QR.
Cet article parle de la génération et de l'analyse des codes QR via zxing Cela semble très simple Il suffit de saisir le code directement
import java.io.File;import java.io.IOException;import java.nio.file.Path;import java.util.HashMap;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.WriterException;import com.google.zxing.client.j2se.MatrixToImageWriter;import com.google.zxing.common.BitMatrix;import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;public class TestZXing {public static void main(String[] args) {int width=300;int height=300; String format="png"; String contents="www.baidu.com"; HashMap map=new HashMap(); map.put(EncodeHintType.CHARACTER_SET, "utf-8"); map.put(EncodeHintType.ERROR_CORRECTION,ErrorCorrectionLevel.M); map.put(EncodeHintType.MARGIN, 0);try { BitMatrix bm = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, width, height); Path file=new File("D:/img.png").toPath(); MatrixToImageWriter.writeToPath(bm, format, file); } catch (WriterException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Grâce au code ci-dessus, il générera un code QR avec le lien de contenu vers www.baidu.com
Le code pour analyser ce code QR est le suivant
import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.HashMap;import javax.imageio.ImageIO;import com.google.zxing.BinaryBitmap;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatReader;import com.google.zxing.NotFoundException;import com.google.zxing.Result;import com.google.zxing.client.j2se.BufferedImageLuminanceSource;import com.google.zxing.common.HybridBinarizer;public class TestRead {public static void main(String[] args) {try { MultiFormatReader reader=new MultiFormatReader();//需要详细了解MultiFormatReader的小伙伴可以点我一下官方去看文档File f=new File("D:/img.png"); BufferedImage image=ImageIO.read(f); BinaryBitmap bb=new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image))); HashMap map =new HashMap(); map.put(EncodeHintType.CHARACTER_SET, "utf-8"); Result result = reader.decode(bb,map); System.out.println("解析结果:"+result.toString()); System.out.println("二维码格式类型:"+result.getBarcodeFormat()); System.out.println("二维码文本内容:"+result.getText()); } catch (NotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Les résultats d'exécution sont les suivants
解析结果:www.baidu.com 二维码格式类型:QR_CODE 二维码文本内容:www.baidu.com
Vous pouvez télécharger le package jar spécifique par vous-même
Lien : Mot de passe : kcjx
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!