首先,是引用maven依赖
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-text --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-text</artifactId><version>1.9</version></dependency>
- StringEscapeUtils.unescapeJava() 将unicode形式的字符串转为unicode字体数据
- StringEscapeUtils.escapeJava() 将unicode字体数据转为unicode形式的字符串,中文其实也算做unicode字体数据, 如中文的"我"得到的返回结果为
\u6211
或者可以复制一些特殊表情也可以进行转换哦
//读取字体文件,第二个参数是字体大小Font font = Font.loadFont(getClass().getResourceAsStream("/ttf/iconfont.ttf"), 20.0);//某个图标的unicodeString unicode = "\\ue001";Text text = new Text();//设置字体和文字text.setFont(font);text.setText(StringEscapeUtils.unescapeJava(unicode));//这里根据情况输入填写,主要就是修改颜色和字体text.setStyle("-fx-font-size:20px;-fx-fill:red;");
Kotlin在Kotlin中,和Java不同,我们可以直接把char类型当成字符串String类型,如下代码所示:text {//第二个参数是字体大小font = loadFont("/font/iconfont.ttf", 25.0)!!//如果只有一个\,在Kotlin中就是字体数据text ="\ueDEF"style {fill = c("red")}}
但是如果我们是动态读入的一个unicode数据,则是没法使用的,原因和上述说的一样,因为不是unicode字体数据,所以text控件会什么都不显示text {font = loadFont("/font/iconfont.ttf", 25.0)!!//两个斜杠,需要调用方法转为unicode字体数据text = StringEscapeUtils.unescapeJava("\\ueDEF")style {fill = c("red")}}
补充最后,上述也是提到了,我们解压出来的字体目录下有一份json文件,实际上,我们可以将此份json数据也放在项目文件夹里在应用运行开始的时候读取,构建一个Map<String,String>,key为名称,而value则是unicode字体数据
之后我们需要用到的时候,可以直接根据名称从中拿去unicode字体数据直接显示
参考
- Java实现字符串和unicode互转_HaHa_Sir的博客-CSDN博客_java转换unicode
经验总结扩展阅读
- uni-app 如何优雅的使用权限认证并对本地文件上下起手
- 使用过的口罩属于什么垃圾
- 欧莱雅精华肌底液怎么使用?
- 欧莱雅葡萄籽系列护肤品适合哪些人群使用?
- 暖宝宝鼓起来了会爆炸吗 使用暖宝宝贴的注意事项
- 手把手教你玩转 Gitea|使用 Helm 在 K3s 上安装 Gitea
- 丙烯调和液怎么使用
- spring boot使用swagger生成api接口文档
- 消毒喷壶使用方法
- 怎么戒槟榔