小编典典

这种方法如何给我-61错误?

java

这是在我正在使用的名为Mirth的应用程序中,但它似乎来自Apache
Commons库内部,该方法来自于检查某种东西是否确实是Base64编码的方法。所有文档都说唯一的回报是对还是错,那么我如何得到-61?

-61
org.apache.commons.codec.binary.Base64.isBase64(Base64.java:137)
org.apache.commons.codec.binary.Base64.discardNonBase64(Base64.java:478)
org.apache.commons.codec.binary.Base64.decodeBase64(Base64.java:374)
org.apache.commons.codec.binary.Base64.decode(Base64.java:220)
com.webreach.mirth.plugins.pdfviewer.PDFViewer.viewAttachments(PDFViewer.java:51)
com.webreach.mirth.client.ui.browsers.message.MessageBrowser$16.doInBackground(MessageBrowser.java:1429)
com.webreach.mirth.client.ui.browsers.message.MessageBrowser$16.doInBackground(MessageBrowser.java:1426)
org.jdesktop.swingworker.SwingWorker$1.call(SwingWorker.java:276)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
java.util.concurrent.FutureTask.run(FutureTask.java:138)
org.jdesktop.swingworker.SwingWorker.run(SwingWorker.java:315)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
java.lang.Thread.run(Thread.java:637)

阅读 166

收藏
2020-11-26

共1个答案

小编典典

可能是ArrayIndexOutOfBoundsException。该-61假想是指数。

http://kickjava.com/src/org/apache/commons/codec/binary/Base64.java.htm中

134     private  static boolean isBase64(byte octect) {
135         if (octect == PAD) {
136             return true;
137         } else if (base64Alphabet[octect] == -1) { // <---
138             return false;
139         } else {
140             return true;
141         }
142     }

显然,输入不是Base64编码的。

2020-11-26