java - 使用 Clojure 中的 Apache Commons 编解码器解码Base64

标签 java clojure interop hex base64

我正在尝试使用 Apache Commons Codec 库在 Clojure 中解码 Base64 字符串。

我可以在库中使用这些方法:

(ns decode.core
  (:import (org.apache.commons.codec.binary Base64 Hex))
  (:gen-class))

(.encode (Hex.) "s")
(.decode (Hex.) "0a")
(.decode (Base64.) "s")

但是当我尝试使用decodeBase64时就像 (.decodeBase64 (Base64.) "s") 我明白

IllegalArgumentException No matching method found: decodeBase64 for class
org.apache.commons.codec.binary.Base64  clojure.lang.Reflector.invokeMatchingMethod
(Reflector.java:53)

我做错了什么?看来我应该能够调用 decodeBase64 就像我可以调用 decode 一样?

最佳答案

decodeBase64是一个静态java方法。以下是在 Clojure 中的调用方式:

 (import '[org.apache.commons.codec.binary Base64 Hex])
 (Base64/decodeBase64 "s")

关于java - 使用 Clojure 中的 Apache Commons 编解码器解码Base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19217986/

相关文章:

java - 如何使用Java将图像和文本复制到剪贴板?

java - 如何以编程方式创建 Activiti 多实例任务?

java - 不接受二进制搜索树代码的最低公共(public)祖先

error-handling - 使用单子(monad)批量进行失败的转换?

build - Leiningen 在构建工作 uberjar 时遇到问题

c# - WCF 服务中的 SQLite AccessViolationException

java - 使用嵌入式 Spark 服务器同时使用 HTTPS 和 HTTP 的方法?

clojure - 莱宁根编译顺序?

c++ - 没有弃用功能的 CUDA + OpenGL Interop

c# - 如何将 C++ 类转换为托管类并在其中调用纯虚函数?