noa*_*hlz 6 unicode clojure emoji
在启用了UTF-8的控制台上的Linux:
Clojure 1.6.0
user=> (def c \?)
#'user/c
user=> (str c)
"?"
user=> (def c \)
RuntimeException Unsupported character: \  clojure.lang.Util.runtimeException (Util.java:221)
RuntimeException Unmatched delimiter: )  clojure.lang.Util.runtimeException (Util.java:221)
Run Code Online (Sandbox Code Playgroud)
我希望能够轻松地拥有一个表情丰富的表情符号Clojure应用程序,但看起来我会查找并输入表情符号代码?或者我错过了一些明显的东西?
Java表示UTF-16中的Unicode字符.表情符号字符是"补充字符",并且具有不能以16位表示的代码点.
http://www.oracle.com/technetwork/articles/javase/supplementary-142654.html
本质上,补充字符不是作为字符而是作为整数表示,并且有特殊的apis来处理它们.
一种方法是(Character/toChars 128516)- 这将返回一个char数组,您可以将其转换为要打印的字符串:(apply str (Character/toChars 128516)).或者,您可以直接使用代码点int数组创建String (String. (int-array [128516]) 0 1).取决于Java/Clojure和您的眼球之间的所有各种事物,可能会或可能不会做您想要的.
格式api支持补充字符,这可能是最简单的,但它需要一个int,所以你需要一个演员:(format "Smile! %c" (int 128516)).
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           1243 次  |  
        
|   最近记录:  |