使用ZXing创建QRCode是否存在非法字符?

时间:2012-11-19 12:31:18

标签: java encoding base64

我尝试使用ZXing创建QR条形码生成器。我想在QR码中对mecode对象进行编码:http://www.nttdocomo.co.jp/english/service/developer/make/content/barcode/function/application/addressbook/index.html

我有这段代码

        bitMatrix = writer.encode(mecard, BarcodeFormat.QR_CODE, 300, 300);
        BufferedImage img = MatrixToImageWriter.toBufferedImage(bitMatrix);

        ByteArrayOutputStream os = new ByteArrayOutputStream();
        OutputStream b64 = new Base64.OutputStream(os);
        ImageIO.write(img, "png", b64);
        String result = os.toString("UTF-8");

在创建文本和网址时生成正确的输出。但是当我尝试编码"MECARD:N:Doe,John;TEL:(+32) 472 65 58 20;TEL:(+32) 2 577 50 68;EMAIL:John@iCompany.com;;"时 它提供了无效的Base64字符串。是否有编码器无法处理的非法字符?

1 个答案:

答案 0 :(得分:0)

问题出在MECARD规范中。 MECARD只允许一个TEL部分。我想用两个。就是这样