1

clojureのキャラクターのUTF-816進コードを取得する方法がわからないようです。私が関連する結果に最も近いのは、を試すことでしたが、またはの代わりに(int \Д)返されました。後者の結果を得るために何を使用しますか?10440414D094

前もって感謝します!

編集:正確には明確にしませんでしたが、UTF-8の16進文字列が必要なので、D094ではなく必要です0414D094ラベルプリンター用に16進コードをからに変換します_D0_94(私はそれがちょっと厄介であることを知っています-私はそれを自分自身で正確に好きではありません:P)

4

3 に答える 3

5

私は参加します:

user=> (format "%04x" (int \Д))
"0414"
于 2012-10-24T02:34:15.157 に答える
4

構成バイトの直後の場合:

(-> (char 1044) str (.getBytes "UTF-8"))

文字列化されたコードが必要な場合は、各バイトを16進表現に変換し、それらを連結します。

(defn stringify-bytes [bytes] (->> bytes (map (partial format "%02x")) (apply str)))
于 2012-10-24T01:43:42.527 に答える
2
user> (Integer/toHexString (int \Д))
"414"

1つのオプションです。ただし、先行ゼロはありません。

于 2012-10-24T02:31:32.333 に答える