Java реализует несколько методов генерации QR -кодов, следующим образом:
1: генерировать QR -код в проекте Java с использованием SwetakeQrCode
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 обычно генерируется как прямоугольный
Например: 887777Alec000yan
3: ZXING
zxing это из Google
Адрес загрузки: http://code.google.com/p/zxing/downloads/list
Код Java:
Импорт java.io.file; импортировать java.util.hashtable; Импорт com.google.zxing.barcodeformat; импорт com.google.zxing.encodehinttype; Импорт com.google.zxing.multiformatTwriter; Import com.google.zxing.client.j2se.matrixtoImageWriter; Импорт com.google.zxing.common.bitmatrix; Импорт com.google.zxing.qrcode.qrcodewriter; открытый класс qrcodeevents {public static void main (string [] args) бросает исключение {string text = "hello"; int width = 100; int height = 100; String format = "png"; Hashtable Hints = new Hashtable (); nts.put (encodehinttype.character_set, "utf-8"); Bitmatrix Bitmatrix = new MultiformatWriter (). Encode (Text, Barcodeformat.qr_code, ширина, высота, подсказки); File outputfile = new File ("new.png"); MatrixtoImageWriter.WritetOfile (Bitmatrix, Format, OutputFile); }}4: Есть способ внедрить QR -код в API диаграммы Google
Используя этот API, используйте Google Appengine для его реализации.
5: JS генерирует QR -код
Генерировать QR-код с помощью jQuery-QrCode
Давайте кратко поговорим о JQUERY-QRCODE, трехпартийной библиотеке с открытым исходным кодом (можно получить с https://github.com/jeromeetienne/jquery-qrcode).
qrcode.js - это класс Core, который реализует расчет данных QR -кода.
jquery.qrcode.js инкапсулирует его в методе jQuery и использует его для реализации графического рендеринга, который фактически рисует (поддерживает два способа холста и таблицы)
Основными поддерживаемыми функциями являются:
JS -код:
Текст: "https://github.com/jeromeetienne/jquery-qrcode" // Установить контент QR-кода
JS -код:
рендеринг: «Canvas», // Установите ширину режима рендеринга: 256, // Установите ширину высоту: 256, // Установить тип роста: -1, // режим вычислений raftlevel: qrerrorcorcrectlevel.h, // Ошибка коррекции.
Как использовать очень просто
JS -код:
jQuery ('#output'). qrCode ({ширина: 200, высота: 200, recaillevel: 0, text: content});После простой практики,
Производительность рендеринга с использованием метода Canvas по -прежнему очень хороша, но если вы используете метод таблицы, производительность не идеальна, особенно для браузеров ниже IE9, поэтому вам необходимо оптимизировать метод рендеринга таблицы самостоятельно, поэтому я не буду подробно объяснить его здесь.
Фактически, вышеупомянутый JS имеет небольшой недостаток, то есть он не поддерживает китайцев по умолчанию.
Это как -то связано с механизмом JS. Библиотека jQuery-QrCode использует метод charcodeat () для кодирования и преобразования.
Этот метод получит кодирование своего Unicode по умолчанию. Как правило, декодеры используют UTF-8, ISO-8859-1 и другие методы.
Нет проблем с английским. Если он китайский, Unicode обычно реализуется в UTF-16 с длиной 2 цифр, в то время как кодирование UTF-8 составляет 3 цифры, поэтому кодирование и декодирование QR-кода не совпадают.
Решение, конечно, преобразовать строку в UTF-8 перед кодированием QR-кода. Конкретный код заключается в следующем:
функция 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 больше.