我尝试使用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");
这会在创建文本和 url 时生成正确的输出。但是当我尝试编码"MECARD:N:Doe,John;TEL:(+32) 472 65 58 20;TEL:(+32) 2 577 50 68;EMAIL:John@iCompany.com;;"
它给出了一个无效的 base64 字符串。是否有一些编码器无法处理的非法字符?
问题出在 MECARD 规范中。 MECARD 只允许一个 TEL 部件。我想用两个。就是这样