问答详情
源自:6-3 使用zxing进行二维码解析

我用QRCode生成二维码图片用zxing decode出来是乱码,并且 我用QRCode decode报错

package com.imooc.qrcode;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

import javax.imageio.ImageIO;

import jp.sourceforge.qrcode.QRCodeDecoder;
import jp.sourceforge.qrcode.exception.DecodingFailedException;

public class ReadQRCode {

	public static void main(String[] args) {

		File file = new File("/Users/chenhailong/Downloads/java/QRcodeImg.png");
		BufferedImage bufferedImage;
		try {
			bufferedImage = ImageIO.read(file);
			
			QRCodeDecoder codeDecoder = new QRCodeDecoder();
			
			String result;
			try {
				
				result = new String (codeDecoder.decode(new MYQRCodeImage(bufferedImage)),"gb2312");
				
				System.out.println(result);
				
			} catch (DecodingFailedException e) {
				e.printStackTrace();
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		
	}

}

我也没发现我写的有啥问题。我写的时候哪里有问题 。异常都捕获了。


jp.sourceforge.qrcode.exception.DecodingFailedException: Give up decoding
	at jp.sourceforge.qrcode.QRCodeDecoder.decode(QRCodeDecoder.java:88)
	at com.imooc.qrcode.ReadQRCode.main(ReadQRCode.java:27)


提问者:qq_木头人春天_0 2017-09-07 23:02

个回答

  • qq_追心_
    2017-10-17 17:29:15

    也是这个问题?谁解决了  

  • qq_木头人春天_0
    2017-09-07 23:08:02

    package com.imooc.qrcode;
    
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    
    import javax.imageio.ImageIO;
    
    import jp.sourceforge.qrcode.QRCodeDecoder;
    
    public class ReadQRCode {
    
    	public static void main(String[] args) throws IOException {
    
    		File file = new File("/Users/chenhailong/Downloads/java/QRcodeImg.png");
    		BufferedImage bufferedImage = ImageIO.read(file);
    		QRCodeDecoder codeDecoder = new QRCodeDecoder();
    		String result = new String (codeDecoder.decode(new MYQRCodeImage(bufferedImage)),"gb2312");
    		
    		System.out.println(result);
    	}
    
    }

    这样写 。还死活报那个错误


    Exception in thread "main" jp.sourceforge.qrcode.exception.DecodingFailedException: Give up decoding
    	at jp.sourceforge.qrcode.QRCodeDecoder.decode(QRCodeDecoder.java:88)
    	at com.imooc.qrcode.ReadQRCode.main(ReadQRCode.java:18)