如何获取Clojure中字符的ascii十进制值?

如何获取Clojure中字符的ascii十进制值?,clojure,ascii,decimal,Clojure,Ascii,Decimal,这些是ascii十进制值中的字符。。。 如何从字符中获取ascii十进制值?字符是一个数字,只是clojure将其显示为字符。最简单的方法是将该字符转换为int e、 g 我想补充一点,你可以直接对角色进行数学运算,但在Clojure中似乎不行。它表示为java.lang.Character(而不是char),并且Character不扩展java.lang.Number,因此,数学运算符在Clojure中的字符上不是开箱即用的。就像Java中的字符原语一样-我认为你也不能添加这些。作为Cloju

这些是ascii十进制值中的字符。。。
如何从字符中获取ascii十进制值?

字符是一个数字,只是clojure将其显示为字符。最简单的方法是将该字符转换为int

e、 g


我想补充一点,你可以直接对角色进行数学运算,但在Clojure中似乎不行。它表示为java.lang.Character(而不是char),并且Character不扩展java.lang.Number,因此,数学运算符在Clojure中的字符上不是开箱即用的。就像Java中的字符原语一样-我认为你也不能添加这些。作为Clojure中的新手,我还没有调整我的思维以适应如此多的可能性。谢谢你让我上路。注意,你不能在ClojureScript中使用这个。在这种情况下,您需要
(.charCodeAt\A 0)
。查看将字符串转换为十进制值的漂亮方法!!注意,Java和Clojure使用的是Unicode(UTF-16),而不是ASCII。您可以获得类似于
(char 0x439)=>\l
(int\l)=>1081
的内容。
user=> (char 65)
\A
user=> (char 97)
\a
user=> (str (char 65))
"A"
user=> (str (char 97))
"a"
user=> (int \A)
65
user=> (int (.charAt "A" 0))
65
user=> (doseq [c "aA"] (printf "%d%n" (int c)))
97
65
nil
user=> (map int "aA");;
(97 65)
user=> (apply str (map char [97 65]))
"aA"