我正在尝试使用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}}?
答案 0 :(得分:4)
decodeBase64是一个静态java方法。以下是您在Clojure中的称呼方式:
(import '[org.apache.commons.codec.binary Base64 Hex])
(Base64/decodeBase64 "s")