java二維碼,java二維碼生成器

本文目錄一覽:

如何使用java開發二維碼代碼

1: 使用SwetakeQRCode在Java項目中生成二維碼

下載地址

或着

這個是日本人寫的,生成的是我們常見的方形的二維碼

可以用中文

如:5677777ghjjjjj

2: 使用BarCode4j生成條形碼和二維碼

BarCode4j網址:

barcode4j是使用datamatrix的二維碼生成算法,為支持qr的算法

datamatrix是歐美的標準,qr為日本的標準,

barcode4j一般生成出來是長方形的

如:88777alec000yan

這個博客這方面說的挺清楚的:

3:zxing

zxing 這個是google的

下載地址

Java代碼:

import java.io.File;

import java.util.Hashtable;

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;

public class QRCodeEvents {

public static void main(String []args)throws Exception{

String text = “你好”;

int width = 100;

int height = 100;

String format = “png”;

Hashtable hints= new Hashtable();

hints.put(EncodeHintType.CHARACTER_SET, “utf-8”);

BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height,hints);

File outputFile = new File(“new.png”);

MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);

}

}

4:google chart api就有實現二維碼的方法

利用這個api,使用google appengine進行實現。

5:JS生成二維碼

使用jQuery-qrcode生成二維碼

先簡單說一下jquery-qrcode,這個開源的三方庫(可以從 獲取),

qrcode.js 是實現二維碼數據計算的核心類,

jquery.qrcode.js 是把它用jquery方式封裝起來的,用它來實現圖形渲染,其實就是畫圖(支持canvas和table兩種方式)

支持的功能主要有:

Js代碼:

text : “” //設置二維碼內容

Js代碼:

render : “canvas”,//設置渲染方式

width : 256, //設置寬度

height : 256, //設置高度

typeNumber : -1, //計算模式

correctLevel : QRErrorCorrectLevel.H,//糾錯等級

background : “#ffffff”,//背景顏色

foreground : “#000000” //前景顏色

使用方式非常簡單

Js代碼:

jQuery(‘#output’).qrcode({width:200,height:200,correctLevel:0,text:content});

經過簡單實踐,

使用canvas方式渲染性能還是非常不錯的,但是如果用table方式,性能不太理想,特別是IE9以下的瀏覽器,所以需要自行優化一下渲染table的方式,這裡就不細述了。

其實上面的js有一個小小的缺點,就是默認不支持中文。

這跟js的機制有關係,jquery-qrcode這個庫是採用 charCodeAt() 這個方式進行編碼轉換的,

而這個方法默認會獲取它的 Unicode 編碼,一般的解碼器都是採用UTF-8, ISO-8859-1等方式,

英文是沒有問題,如果是中文,一般情況下Unicode是UTF-16實現,長度2位,而UTF-8編碼是3位,這樣二維碼的編解碼就不匹配了。

解決方式當然是,在二維碼編碼前把字符串轉換成UTF-8,具體代碼如下:

function 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 6) 0x3F));

out += String.fromCharCode(0x80 | ((c 0) 0x3F));

} else {

out += String.fromCharCode(0xC0 | ((c 6) 0x1F));

out += String.fromCharCode(0x80 | ((c 0) 0x3F));

}

}

return out;

}

java二維碼只能掃碼一次

只能掃一次。java掃過一次之後就無法展示內容,提交設置後這個二維碼就只能掃一次。二維碼又稱二維條碼,常見的二維碼為QRCode,QR全稱QuickResponse,是一種編碼方式。

java 如何完成二維碼的製作

參考以下代碼:

//創建BarcodeSettings實例

BarcodeSettings settings = new BarcodeSettings();

//設置條碼類型為QR二維碼

settings.setType(BarCodeType.QR_Code);       

//設置二維碼數據

settings.setData(“Hello 123456789”);

//設置二維碼顯示數據

settings.setData2D(“Hello 123456789”);     

//設置數據類型

settings.setQRCodeDataMode(QRCodeDataMode.Alpha_Number);

//設置二維碼模型寬度

settings.setX(1.0f);

//設置二維碼糾錯級別

settings.setQRCodeECL(QRCodeECL.H);

//創建BarCodeGenerator實例

BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);

//根據settings生成圖像數據,保存至BufferedImage實例

BufferedImage bufferedImage = barCodeGenerator.generateImage();

//保存為PNG圖片

ImageIO.write(bufferedImage, “png”, new File(“QRCode.png”));

System.out.println(“Complete!”);

需要引用Spire.Barcode for java

原文:Java 生成二維碼

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/271874.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 19:23
下一篇 2024-12-16 19:23

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • 打造照片漫畫生成器的完整指南

    本文將分享如何使用Python編寫一個簡單的照片漫畫生成器,本文所提到的所有代碼和技術都適用於初學者。 一、環境準備 在開始編寫代碼之前,我們需要準備一些必要的環境。 首先,需要安…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論