Java는 다음과 같이 QR 코드를 생성하기위한 몇 가지 방법을 구현합니다.
1 : SwetakeQrcode를 사용하여 Java 프로젝트에서 QR 코드를 생성합니다
http://swetake.com/qr/ 다운로드 주소
또는 http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip
이것은 일본인이 작성하고 우리가 일반적으로 사용하는 제곱 QR 코드를 생성합니다.
중국어로 사용할 수 있습니다
예를 들면 : 56777777GHJJJJJ
2 : Barcode4J를 사용하여 바코드 및 QR 코드를 생성하십시오
Barcode4j URL : http://sourceforge.net/projects/barcode4j/
Barcode4j는 QR 알고리즘을 지원하는 Datamatrix를 사용하는 QR 코드 생성 알고리즘입니다.
Datamatrix는 유럽과 미국의 표준이며 QR은 일본의 표준입니다.
Barcode4J는 일반적으로 직사각형으로 생성됩니다
예를 들어 : 88777alec000yan
3 : Zxing
zxing 이것은 Google에서 나온 것입니다
다운로드 주소 : http://code.google.com/p/zxing/downloads/list
자바 코드 :
import java.io.file; java.util.hashtable import; 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; 공개 클래스 qrcodeevents {public static void main (String [] args)은 예외 {문자열 텍스트 = "hello"; int 너비 = 100; int 높이 = 100; 문자열 형식 = "png"; Hashtable 힌트 = New Hashtable (); hints.put (encodehinttype.character_set, "utf-8"); bitmatrix bitmatrix = new multiformatwriter (). encode (텍스트, barcodeformat.qr_code, 너비, 높이, 힌트); 파일 outputfile = 새 파일 ( "new.png"); matrixtoImageWriter.writetOfile (bitmatrix, format, outputfile); }}4 : Google 차트 API에서 QR 코드를 구현하는 방법이 있습니다.
이 API를 사용하여 Google Appengine을 사용하여 구현하십시오.
5 : JS는 QR 코드를 생성합니다
jQuery-Qrcode를 사용하여 QR 코드를 생성합니다
오픈 소스 3 파티 라이브러리 인 JQuery-Qrcode에 대해 간단히 이야기 해 봅시다 (https://github.com/jeromeetienne/jquery-qrcode에서 얻을 수 있음).
qrcode.js는 QR 코드 데이터 계산을 구현하는 핵심 클래스입니다.
jquery.qrcode.js는 jQuery 메소드로 캡슐화하고이를 사용하여 그래픽 렌더링을 실현하는데 실제로 그리기 중입니다 (캔버스와 테이블의 두 가지 방법을 지원합니다).
주요 지원되는 기능은 다음과 같습니다.
JS 코드 :
텍스트 : "https://github.com/jeromeetienne/jquery-qrcode"// QR 코드 내용을 설정합니다
JS 코드 :
렌더 : "캔버스", // 렌더링 모드 너비 설정 세트 : // 세트 너비 높이 : 256, // 세트 높이 유형 : // 계산 모드 올바른 레벨 : QRERRORCORRECTLEVEL.H, // 오류 수정 레벨 배경 : "#ffffff", // 배경 색상 포 그라운드 : "#000000"
사용 방법은 매우 간단합니다
JS 코드 :
jQuery ( '#output'). qrcode ({width : 200, 높이 : 200, Aronglevel : 0, text : content});간단한 연습 후
캔버스 방법을 사용한 렌더링 성능은 여전히 우수하지만 테이블 메소드를 사용하는 경우 특히 IE9 아래의 브라우저의 경우 성능이 이상적이지 않으므로 테이블의 렌더링 메소드를 직접 최적화해야하므로 여기에서 자세히 설명하지 않습니다.
실제로 위의 JS는 작은 단점이 있습니다. 즉, 기본적으로 중국어를 지원하지 않습니다.
이것은 JS 메커니즘과 관련이 있습니다. JQuery-Qrcode 라이브러리는 인코딩 및 변환을 위해 charcodeat () 메소드를 사용합니다.
이 방법은 기본적으로 유니 코드 인코딩을 얻습니다. 일반적으로 디코더는 UTF-8, ISO-8859-1 및 기타 방법을 사용합니다.
영어에 문제가 없습니다. 중국인 인 경우 유니 코드는 일반적으로 UTF-16에서 구현되며 길이는 2 자리 인 반면 UTF-8 인코딩은 3 자리이므로 QR 코드의 인코딩 및 디코딩은 일치하지 않습니다.
솔루션은 물론 QR 코드를 인코딩하기 전에 문자열을 UTF-8로 변환하는 것입니다. 특정 코드는 다음과 같습니다.
함수 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) & 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)); }} 리턴 아웃; }위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.