在UTF-8中获得完全相等的clojure/clojurescript字符串

在UTF-8中获得完全相等的clojure/clojurescript字符串,clojure,clojurescript,Clojure,Clojurescript,我有一个clj文件: ;; stringparity.clj ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (ns stringparity) (defn get-java-string [input] (.getBytes input "UTF-8")) 和一个cljs文件: ;;; stringparity.cljs ;;;;;;;;;;;;;;;;;;;;;;;;;;;; (ns stringparity (:import goog.crypt)

我有一个clj文件:

;; stringparity.clj ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(ns stringparity)

    (defn get-java-string [input]
      (.getBytes input "UTF-8"))
和一个cljs文件:

;;; stringparity.cljs ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(ns stringparity
  (:import goog.crypt))    

    (defn get-js-string [input]
      (goog.crypt.stringToUtf8ByteArray input))

以下代码不可执行,因为
get js string
仅在javascript中工作,而
get java string
在java中工作;我只是假装你可以在同一台机器上运行它们来说明出了什么问题。这两个函数在使用“简单”字符串时都可以正常工作,但在使用“复杂”字符串(如
“带的不字符和带的不字符)时会失败。goog.crypt.stringToUtf8ByteArray
无法处理Javascript字符串中表示为“代理项对”的字符(如
goog.crypt.stringToUtf8ByteArray
无法处理Javascript字符串中表示为“代理项对”的字符(例如,您的“Link rot”已为JS impl设置。Link rot已为JS impl设置。