我对Clojure非常陌生。我对Java及其库函数没有任何经验。我在Clojure中编写了一个函数,它使用java.util.Base64/getUrlEncoder返回Base64编码的数据。我的代码如下所示:
user> (import java.util.Base64)
java.util.Base64
user> (let [encoder (Base64/getUrlEncoder)]
(String. (.encode encoder (.getBytes "Hello StackOverflow"))))
"SGVsbG8gU3RhY2tPdmVyZmxvdw=="
如您所见,输出包含填充:最后两个等号我不想要那个填充物
我看到Java的Base64.Encoder类有一个'withoutPadding()'方法用于此目的,但我不知道如何在Clojure中使用它。我尝试了这样的方法:
user> (let [encoder (Base64/getUrlEncoder))]
(doto (java.util.Base64/Encoder (.withoutPadding (String. (.encode encoder (.getBytes "Hello StackOverflow"))))))
但没有用我怎么能这么做
1条答案
按热度按时间e3bfsja21#
你必须在Encoder本身上调用
withoutPadding
: