Java 二维码 Base64转Qrcode

来源:互联网 发布:数字规律软件 编辑:程序博客网 时间:2024/05/17 03:36


相当于扫码二维码获取里面对应的信息。。。



package utils;import jp.sourceforge.qrcode.QRCodeDecoder;import jp.sourceforge.qrcode.exception.DecodingFailedException;import sun.misc.BASE64Decoder;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.*;/** * Created by kzx on 2016-11-22. */public class Base64ToQrcode {      /**     * 解析二维码(QRCode)     *     * @param imgPath 图片路径     * @return     */    public String decoderQRCode(String imgPath) {        // QRCode 二维码图片的文件        File imageFile = new File(imgPath);        BufferedImage bufImg = null;        String content = null;        try {            bufImg = ImageIO.read(imageFile);            QRCodeDecoder decoder = new QRCodeDecoder();            content = new String(decoder.decode(new TwoDimensionCodeImage(bufImg)), "utf-8");        } catch (IOException e) {            System.out.println("Error: " + e.getMessage());            e.printStackTrace();        } catch (DecodingFailedException dfe) {            System.out.println("Error: " + dfe.getMessage());            dfe.printStackTrace();        }        return content;    }    /**     * 解析二维码(QRCode)     *     * @param base64字符串     * @return     */    public String decoderQRCode2(String base64Str) {        BufferedImage bufImg = null;        String content = null;        try {        byte[] bytes =this.base64Stream(base64Str);        InputStream in_withcode =  new ByteArrayInputStream(bytes);             bufImg = ImageIO.read(in_withcode);            QRCodeDecoder decoder = new QRCodeDecoder();            content = new String(decoder.decode(new TwoDimensionCodeImage(bufImg)), "utf-8");        } catch (IOException e) {            System.out.println("Error: " + e.getMessage());            e.printStackTrace();        } catch (DecodingFailedException dfe) {            System.out.println("Error: " + dfe.getMessage());            dfe.printStackTrace();        }        return content;    }     public byte[] base64Stream(String imgStr){        BASE64Decoder decoder = new BASE64Decoder();    byte[] bytes = null;        try {            // Base64解码            bytes = decoder.decodeBuffer(imgStr);            for (int i = 0; i < bytes.length; ++i) {                if (bytes[i] < 0) {// 调整异常数据                    bytes[i] += 256;                }             }            }catch(Exception e){                        }return bytes;        }    public static void main(String[] args) {        String str="iVBORw0KGgoAAAANSUhEUgAAAJQAAACUCAIAAAD6XpeDAAADA0lEQVR42u3aW3ICIRAF0Ox/02YDsaLDvQ06Zz4tMyCHFP3g56fwPBaeZ+955fN357Dyu9pjbXvgwYMH7yZ4jUVvIE3OcwVjdFx48ODBg3cZLzW5VybdCFIa465siMY6w4MHDx68c/FSeedk/treTPDgwYMH7zvx2tip4KWxOeDBgwcP3rl47cN8JUhpF8dTxeKP7yrAgwcP3hfjTQYLd/786AcSPHjwvhjvUX5SRedUgbgdBE0+8ODBgwfv+tp+YhN1ZXHbxeXR9YQHDx48eP+u52Tx94RgZGWhTwt24MGDBw9eBi92MWbTpaBULffoC1rw4MGDB+8yXuNATk26Df+JBXd48ODBg5fBaye/sUP7gOBlV4ADDx48ePDySfoJjdClAm4owJksTL80B3jw4MGDd7nv2A5YUot1QnFgMkmPJezw4MGDB+/yi9qJ7eThn9oE2xrU8ODBgwfv33c2Cr67gpp2gbjxnW23x+DBgwfvhniNgGUSfrLA3Q6yKv+F8ODBgwfvz2Zsu7A72fhNBU2TAdTSfxs8ePDgwRvDmywWNwrH7UCmXpiGBw8ePHhxvF0F2cmGZxum0lWABw8ePHjxfl5qoo0iQCURLmBv6yrAgwcPHrxji7OpDdFO0htze3ssePDgwYN3eazGwTuZ2DYuPrXxYmPBgwcPHrzLhelUMNJYiMnG8q7C9NPvwIMHDx68y+9MXZhJJf6pg32pyVkOQGLA8ODBgwcvgrer0doIEBobtD1W/QISPHjw4MGLJ92p4GWygZy6dFTvKsCDBw8evPgFpF3N0nZCvSvBj70THjx48OCNHdSTC5GaQ2ojThblX+qkw4MHDx689H2fpeZk+2/bi97erKNg8ODBg3dDvPakG5vghICrEXSMJuzw4MGDd3O8yQChsUBHdwAaY8GDBw8evKPw2sl+OxiZbNjGbo/BgwcPHrzteO3i9WSC3yh21yMoePDgwYMX/wGTgUAKsl0EqFyUggcPHjx42y8gNb7TCKzagclpxW548ODBuyHeL9xbl2J4ZXhhAAAAAElFTxSuQxCC";        Base64ToQrcode handler = new Base64ToQrcode();        try {        //InputStream   in_withcode   =   new   ByteArrayInputStream(str.getBytes("UTF-8"));        ByteArrayInputStream tInputStringStream = new ByteArrayInputStream(str.getBytes());        //byte[] bytes =handler.base64Stream(str);        //InputStream in_withcode =  new ByteArrayInputStream(bytes);                   String str1= handler.decoderQRCode2(str);        System.out.println(str1);        } catch (Exception e) {            e.printStackTrace();        }    }}

1 1
原创粉丝点击