使用来自Clojure的Apache Commons Codec decodeBase64

时间:2013-10-07 06:00:19

标签: 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 (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来呼叫{{1}}?

1 个答案:

答案 0 :(得分:4)

decodeBase64是一个静态java方法。以下是您在Clojure中的称呼方式:

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