Java mengimplementasikan beberapa metode untuk menghasilkan kode QR, sebagai berikut:
1: Hasilkan kode QR dalam proyek Java menggunakan SwetakeQrcode
http://swetake.com/qr/ alamat unduh
Atau http://sourceForge.jp/projects/qrcode/downloads/28391/qrcode.zip
Ini ditulis oleh Jepang dan menghasilkan kode QR persegi yang biasa kita gunakan.
Dapat digunakan dalam bahasa Cina
Misalnya: 5677777GHJJJJJJ
2: Gunakan Barcode4j untuk menghasilkan kode barcode dan QR
Barcode4j URL: http://sourceForge.net/projects/barcode4j/
Barcode4j adalah algoritma pembuatan kode QR menggunakan Datamatrix, yang mendukung algoritma QR
Datamatrix adalah standar di Eropa dan Amerika, dan QR adalah standar di Jepang.
Barcode4j biasanya dihasilkan sebagai persegi panjang
Misalnya: 88777Alec000yan
3: zxing
zxing ini dari google
Alamat unduhan: http://code.google.com/p/zxing/downloads/list
Kode Java:
impor java.io.file; impor java.util.hashtable; impor com.google.zxing.barcodeformat; impor com.google.zxing.encodehinttype; impor com.google.zxing.multiformatwriter; impor com.google.zxing.client.j2se.matrixtoimagewriter; impor com.google.zxing.common.bitmatrix; impor com.google.zxing.qrcode.qrcodewriter; kelas publik qrcodeevents {public static void main (string [] args) melempar pengecualian {string text = "hello"; Int Width = 100; tinggi int = 100; Format string = "png"; Hashtable petunjuk = hashtable baru (); hints.put (encodehinttype.character_set, "UTF-8"); Bitmatrix bitmatrix = multiformatwriter baru (). Encode (Teks, Barcodeformat.qr_code, lebar, tinggi, petunjuk); File outputFile = file baru ("new.png"); Matrixtoimagewriter.writetofile (bitmatrix, format, outputFile); }}4: Ada cara untuk mengimplementasikan kode QR di Google Chart API
Menggunakan API ini, gunakan Google Appengine untuk mengimplementasikannya.
5: JS menghasilkan kode QR
Hasilkan kode QR menggunakan jQuery-qrcode
Mari kita bicarakan secara singkat tentang jQuery-Qrcode, perpustakaan tiga kursus open source (dapat diperoleh dari https://github.com/jeromeetienne/jquery-qrcode).
qrcode.js adalah kelas inti yang mengimplementasikan perhitungan data kode QR.
jquery.qrcode.js merangkumnya dalam metode jQuery, dan menggunakannya untuk mewujudkan rendering grafis, yang sebenarnya menggambar (mendukung dua cara kanvas dan tabel)
Fungsi utama yang didukung adalah:
Kode JS:
Teks: "https://github.com/jeromeetienne/jquery-qrcode" // atur konten kode qr
Kode JS:
Render: "Canvas", // atur Rendering Mode Lebar: 256, // Setel Lebar: 256, // Setel Tinggi Ketik: -1, // Mode Komputasi CorrectLevel: QRerrorCorrectLevel.h, // Latar Belakang Koreksi Kesalahan: "#FFFFFF", // Latar Belakang Color Foreground: "#000000" //
Cara menggunakannya sangat sederhana
Kode JS:
jQuery ('#output'). qrcode ({width: 200, tinggi: 200, correctlevel: 0, teks: konten});Setelah latihan sederhana,
Kinerja rendering menggunakan metode Canvas masih sangat bagus, tetapi jika Anda menggunakan metode tabel, kinerjanya tidak ideal, terutama untuk browser di bawah IE9, jadi Anda perlu mengoptimalkan metode rendering tabel sendiri, jadi saya tidak akan menjelaskannya secara detail di sini.
Faktanya, JS di atas memiliki kerugian kecil, yaitu, itu tidak mendukung bahasa Cina secara default.
Ini ada hubungannya dengan mekanisme JS. Perpustakaan JQuery-Qrcode menggunakan metode charcodeat () untuk pengkodean dan konversi.
Metode ini akan mendapatkan pengkodean unicode secara default. Secara umum, decoder menggunakan UTF-8, ISO-8859-1 dan metode lainnya.
Tidak ada masalah dengan bahasa Inggris. Jika itu adalah Cina, Unicode umumnya diimplementasikan dalam UTF-16, dengan panjang 2 digit, sedangkan pengkodean UTF-8 adalah 3 digit, sehingga pengkodean dan decoding kode QR tidak cocok.
Solusinya tentu saja, konversi string ke UTF-8 sebelum mengkode kode QR. Kode spesifiknya adalah sebagai berikut:
fungsi utf16to8 (str) {var out, i, len, c; out = ""; len = str.length; untuk (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)); }} kembali; }Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.