Groovy 脚本不会将文件写入 UTF-8

标签 groovy utf-8 file-writing

我有以下代码:

def f = new File("test.txt")
f.write("test", "UTF-8")

在 Notepad++(或任何其他编辑器)中打开文件时,它仍然采用 ISO-8859-1 而不是 UTF-8。在十六进制编辑器中打开该文件,它不包含“魔术字节”0xEFBBBF

问候,
罗伯特

最佳答案

UTF-8 文件 do not really require the Byte-Order Mark indicator .

例如,如果您的 UTF-8 文件仅包含 ASCII 字符,则 file 实用程序将返回以下内容:

$ file [filename]
ASCII text

但是当您在该文件中引入日语字符时,file 将返回以下内容:

UTF-8 Unicode text

..但文件不会以 BOM 开头。

关于Groovy 脚本不会将文件写入 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8412274/

相关文章:

generics - Groovy 中的泛型方法

groovy - 如果警报关闭,如何不运行测试

html - 将 HTML 表格解析为 Groovy 列表?

linux - 文件中放置执行结果的错误符号

c - 在读取文件、计算和写入另一个文件时使用结构

grails - RESTful grails 应用程序 : DRYing up UrlMapping

Ruby:如何将字符串转换为二进制并将其写入文件

MySQL UTF-8 问题与来自捷克语的 c caron (hatscheck)

c# - 在 Windows 窗体中使用 SHA-256 散列文本

java - 如何在 java 项目文件夹中创建 .txt 文件并写入