0
我試圖用ZXing創建QR條碼生成器。我想編碼的QR碼MECODE對象:http://www.nttdocomo.co.jp/english/service/developer/make/content/barcode/function/application/addressbook/index.htmlZXing有創建QRCode的非法字符嗎?
我有這樣的代碼
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:[email protected];;"
它給出一個無效的Base64字符串。是否有一些編碼器無法處理的非法字符?
如果錯誤是基於64位編碼,那麼它發生在您將圖像數據寫入Base 64數據的位置(爲什麼?),這是在使用zxing之後與其無關。你爲什麼認爲它與編碼數據有關? –
我確實發現了這個問題。但我自己也不能回答。 MECARD規格不允許多個TEL部件。 – Arninja