java - 如何在groovy中打印特殊字符

标签 java groovy

我想打印 √ (\u221A) http://www.fileformat.info/info/unicode/char/221a/index.htm groovy 中的字符

file = new File("log.txt")
if(!file.exists()){
    file.createNewFile()
}

file.withWriter('UTF-8'){
    file.write("\u221A √")
}

我在十六进制编辑器中得到3F 20 E2 3F 9A

我不知道为什么会发生这种情况。在第二种情况下,它看起来类似于 0xE2 0x88 0x9A,这是该字符的正确 UTF-8。

我尝试使用选项 -c UTF-8 运行 groovy,但得到 3F 20 3F

最佳答案

事实证明我需要

JAVA_TOOL_OPTIONS -Dfile.encoding=UTF8 

在我的 Windows 环境变量中。

关于java - 如何在groovy中打印特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14267768/

相关文章:

java - 用 Java 实现里程表

java - 斐波那契练习中的堆错误

json - 在 Groovy/Grails 中生成的 JSON 中插入嵌套项

java - 获取用 Java 或 Groovy 填充的有效 oauth_signature 的绝对最小代码?

java不同集合更新模式

java - 我可以在 Apache Camel 中拥有多个回复者吗

java - 支柱 1 : How may I pass data between Actions?

groovy - Groovy 中的 map 分组

java - 如何在 Java 中处理无符号短裤/整数/长裤

groovy - 如何从Groovy中的对象字段中提取新列表