如何将数字转换为unicode?

时间:2017-01-16 02:07:09

标签: java unicode clojure

通常,unicode字符可以表示如下:

\u0905 => अ

我想知道如何编写一个可以输出相同内容的函数:

(unicode "0905") => अ

(unicode 905) => अ

我希望能够构造一个字节数组表示。即:

(seq (.getBytes "\u11035"))
=> (-31 -124 -125 53)

然后使用字节表示来构造字符。

1 个答案:

答案 0 :(得分:1)

你是说这个意思吗?

(defmulti unicode class)

(defmethod unicode java.lang.String [s]
  (read-string (str "\\u" s)))

(defmethod unicode java.lang.Long [l]
  (read-string (str "\\u" (format "%04d" l))))

(unicode "0905")
;;=>\अ
(unicode 905)
;;=>\अ