1. 程式人生 > >解析微信二維碼內的資訊

解析微信二維碼內的資訊

這兩天對微信二維碼比較感興趣,所以就花了點時間學習了一下,下面我將先介紹一下如何解析微信二維碼內的資訊。

直接上程式碼:

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import jp.sourceforge.qrcode.QRCodeDecoder;
import jp.sourceforge.qrcode.data.QRCodeImage;
/**
 * 解析二維碼
 * @author Wdl
 *
 */
public class QRDecode {

	private static String decode(String qrcodePicfilePath) {
		System.out.println("開始解析二維碼!!");
		/* 讀取二維碼影象資料 */
		File imageFile = new File(qrcodePicfilePath);
		BufferedImage image = null;
		try {
			image = ImageIO.read(imageFile);
		} catch (IOException e) {
			System.out.println("讀取二維碼圖片失敗: " + e.getMessage());
			return null;
		}
		/* 解析二維碼 */
		QRCodeDecoder decoder = new QRCodeDecoder();
		String decodedData = new String(
				decoder.decode(new J2SEImageGucas(image)));
		System.out.println("解析內容如下:" + decodedData);
		return decodedData;
	}
	
	public static void main(String[] args) {
		QRDecode.decode("D:/test/qr.png");
	}

}
class J2SEImageGucas implements QRCodeImage {  
	   BufferedImage image;  
	 
	   public J2SEImageGucas(BufferedImage image) {  
	       this.image = image;  
	   }  
	 
	   public int getWidth() {  
	       return image.getWidth();  
	   }  
	 
	   public int getHeight() {  
	       return image.getHeight();  
	   }  
	 
	   public int getPixel(int x, int y) {  
	       return image.getRGB(x, y);  
	   }  
	}  

很簡單,所需jar包及目錄文件如下:


執行前,先準備好自己所需要的微信二維碼,放在D盤test目錄下,執行結果:


這就是微信二維碼裡面的資訊,根據這個資訊我們可以生成自己的二維碼。


jar包及原始碼:QRDecode