「文字列」-> base64 のような単純なものが必要です。古い base64.encode-str では簡単でした (そして「より多くの clojure」に聞こえましたが、新しいものclojure.data.codec.base64
は入力ストリームと出力ストリームを必要とし、Java のやり方の醜いラッパーのようです。
では、base64 でエンコードされた配列を取得するために、文字列を使用する方法は何ですか? ありがとう
4 年後ですが、 JDK 1.8以降を使用している場合は、言及する価値があると思います。使うだけjava.util.Base64
(:import java.util.Base64)
(defn encode [to-encode]
(.encode (Base64/getEncoder) (.getBytes to-encode)))
(:import java.util.Base64)
(defn encode [to-encode]
(.encodeToString (Base64/getEncoder) (.getBytes to-encode)))
(:import java.util.Base64)
(defn decode [to-decode]
(String. (.decode (Base64/getDecoder) to-decode)))
もう 1 つの回答には、もう 1 つの手順が必要です。バイト配列の結果をencode
文字列に変換することです。これが私がすることです:
(:require [clojure.data.codec.base64 :as b64])
(defn string-to-base64-string [original]
(String. (b64/encode (.getBytes original)) "UTF-8"))
エンコード機能を使用して、バイト配列を渡すことができます。
(encode (.getBytes "Hello world!"))