QR코드의 특징:
1. 고밀도 인코딩, 대용량 정보 용량
일반 바코드 정보보다 큰 문자 1850자, 숫자 2710자, 한자 500자 이상까지 수용 가능 용량은 수십배 정도 더 큽니다.
2. 넓은 코딩 범위
이 바코드는 그림, 소리, 텍스트, 서명, 지문 및 기타 디지털 정보를 인코딩할 수 있으며 이를 바코드로 표현할 수 있습니다. 이미지 데이터.
3. 강력한 내결함성 및 오류 수정 기능
2D 바코드가 천공, 얼룩 등으로 부분적으로 손상되어도 정확하게 판독할 수 있으며, 손상된 부분이 있으면 정보를 복원할 수 있습니다. 50%에 도달합니다.
4. 높은 디코딩 신뢰성
일반 바코드 디코딩 오류율이 2ppm에 비해 훨씬 낮으며 비트 오류율은 천만분의 1을 초과하지 않습니다.
5. 암호화 조치를 도입할 수 있습니다
기밀유지 및 위조 방지가 좋습니다.
6. 저비용, 제작 용이, 내구성
위의 특성으로 인해 QR 코드가 점점 대중화되고 있으며 그 응용도 점점 더 광범위해지고 있습니다. (자세한 내용은 바이두 백과사전, 소개를 참조하세요. 는 이 기사의 초점이 아닙니다.) 따라서 QR 코드를 개발하는 방법을 아는 것은 매우 좋은 지식 보유이므로 이 기사에서는 QR 코드를 생성하고 구문 분석하는 방법을 설명합니다.
이 글에서는 zxing을 통한 QR 코드 생성 및 분석에 대해 설명합니다. 코드를 직접 입력하기만 하면 됩니다.
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(); } } }
위 코드는 www.baidu.com 콘텐츠 링크로 QR 코드를 생성합니다.
이 QR코드를 파싱하는 코드는 다음과 같습니다
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(); } } }
解析结果:www.baidu.com 二维码格式类型:QR_CODE 二维码文本内容:www.baidu.com
링크: 비밀번호: kcjx
위 내용은 Java를 사용하여 QR 코드 코드 공유 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!