會場的二維碼應(yīng)該要包含會場id
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了福貢免費(fèi)建站歡迎大家使用!
然后會員掃描二維碼,獲得會場的id,此時會員必須登錄,登錄會員就能獲得會員id,
然后根據(jù)會員id和會場id去跟服務(wù)器查詢作為信息
1: 使用SwetakeQRCode在Java項(xiàng)目中生成二維碼
下載地址
或著
這個是日本人寫的,生成的是我們常見的方形的二維碼
可以用中文
如:5677777ghjjjjj
2: 使用BarCode4j生成條形碼和二維碼
BarCode4j網(wǎng)址:
barcode4j是使用datamatrix的二維碼生成算法,為支持qr的算法
datamatrix是歐美的標(biāo)準(zhǔn),qr為日本的標(biāo)準(zhǔn),
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就有實(shí)現(xiàn)二維碼的方法
利用這個api,使用google appengine進(jìn)行實(shí)現(xiàn)。
5:JS生成二維碼
使用jQuery-qrcode生成二維碼
先簡單說一下jquery-qrcode,這個開源的三方庫(可以從 獲取),
qrcode.js 是實(shí)現(xiàn)二維碼數(shù)據(jù)計(jì)算的核心類,
jquery.qrcode.js 是把它用jquery方式封裝起來的,用它來實(shí)現(xiàn)圖形渲染,其實(shí)就是畫圖(支持canvas和table兩種方式)
支持的功能主要有:
Js代碼:
text : "" //設(shè)置二維碼內(nèi)容
Js代碼:
render : "canvas",//設(shè)置渲染方式
width : 256, //設(shè)置寬度
height : 256, //設(shè)置高度
typeNumber : -1, //計(jì)算模式
correctLevel : QRErrorCorrectLevel.H,//糾錯等級
background : "#ffffff",//背景顏色
foreground : "#000000" //前景顏色
使用方式非常簡單
Js代碼:
jQuery('#output').qrcode({width:200,height:200,correctLevel:0,text:content});
經(jīng)過簡單實(shí)踐,
使用canvas方式渲染性能還是非常不錯的,但是如果用table方式,性能不太理想,特別是IE9以下的瀏覽器,所以需要自行優(yōu)化一下渲染table的方式,這里就不細(xì)述了。
其實(shí)上面的js有一個小小的缺點(diǎn),就是默認(rèn)不支持中文。
這跟js的機(jī)制有關(guān)系,jquery-qrcode這個庫是采用 charCodeAt() 這個方式進(jìn)行編碼轉(zhuǎn)換的,
而這個方法默認(rèn)會獲取它的 Unicode 編碼,一般的解碼器都是采用UTF-8, ISO-8859-1等方式,
英文是沒有問題,如果是中文,一般情況下Unicode是UTF-16實(shí)現(xiàn),長度2位,而UTF-8編碼是3位,這樣二維碼的編解碼就不匹配了。
解決方式當(dāng)然是,在二維碼編碼前把字符串轉(zhuǎn)換成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中字符串轉(zhuǎn)碼,根據(jù)實(shí)際運(yùn)用的環(huán)境有以下三種方式 使用Java.lang.String這是最常用的方法,先用對應(yīng)編碼獲取字節(jié),然后重新構(gòu)造新編碼,示例代碼如下: String?s?=?"清山";?? byte[]?b?=?s.getBytes("utf-吧");//編碼?? String?sa?=?new?String(b,?"gb二三一二");//解碼:用什么字符集編碼就用什么字符集解碼 java.io.InputStreamReader/OutputStreamWriter:橋轉(zhuǎn)換讀寫文件的應(yīng)用中,可以使用這種方式,直接在IO流構(gòu)造中轉(zhuǎn)換,示例代碼如下: InputStream?is?=?new?FileInputStream("C:/項(xiàng)目進(jìn)度跟蹤.txt");//文件讀取?? InputStreamReader?isr?=?new?InputStreamReader(is,?"utf-吧");//解碼?? OutputStream?os?=?new?FileOutputStream("C:/項(xiàng)目進(jìn)度跟蹤_gb二三一二.txt");//文件輸出?? OutputStreamWriter?osw?=?new?OutputStreamWriter(os,?"gb二三一二");//開始編碼 java.nio.Charset使用nio中的Charset轉(zhuǎn)換字符,示例代碼如下: Charset?inSet?=?Charset.forName("utf-吧");??//?解碼字符集? Charset?outSet?=?Charset.forName("gb二三一二");??//?編碼字符集?? CharsetDecoder?de?=?inSet.newDecoder();??//?解碼器 CharsetEncoder?en?=?outSet.newEncoder();//?編
1. ZXing:ZXing (“zebra crossing”) 是一個開源的多格式1D/2D條形碼圖像處理庫,它可以識別和生成多種條形碼格式,例如UPC-A,UPC-E,EAN-8,EAN-13,Code 39,Code 128,QR Code,Data Matrix,Aztec,PDF 417等等。
2. Barcode4j:Barcode4j是一個開源的Java庫,用于生成和解析條形碼,支持多種格式,如Code 39,Code 128,UPC,EAN,Interleaved 2 of 5,PostNet等。
3. Java Barcode:Java Barcode是一個獨(dú)立的條形碼庫,它可以快速地生成和解碼各種條形碼格式,如UPC-A,UPC-E,EAN-8,EAN-13,Code 39,Code 128,QR Code,Data Matrix,Aztec,PDF 417等。
標(biāo)題名稱:java二維碼識別代碼 使用java語言完成二維碼的生成
標(biāo)題URL:http://vcdvsql.cn/article30/doiepso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、ChatGPT、移動網(wǎng)站建設(shè)、網(wǎng)站收錄、自適應(yīng)網(wǎng)站、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)