Clojure

clojureでurlエンコードをする

使うライブラリ

javaでもやれそうですが、とりあえずこれを使いました。

[ring/ring-codec "1.1.0"]

サンプル

(ns foo.bar
  (:require [ring.util.codec :as codec]))

;; NG
;; これだと「ほげ」以外もエンコードされてしまう
;; "https%3A%2F%2Fqiita.com%2Fsearch%3Fq%3D%E3%81%BB%E3%81%92"
(codec/url-encode "https://qiita.com/search?q=ほげ")

;; OK
;; "https://qiita.com/search?q=%E3%81%BB%E3%81%92"
(str "https://qiita.com/search?q=" (codec/url-encode "ほげ"))