Encoding 在Haxe中使用sys.io.file.read读取文件时指定文件编码

Encoding 在Haxe中使用sys.io.file.read读取文件时指定文件编码,encoding,haxe,Encoding,Haxe,我知道如何使用sys.io.file.read使用Haxe读取文件(比较一下,我还知道sys模块不适用于每个目标)。但是,我如何告诉sys.io.File.read我的文本文件是通过某种编码方式编码的(例如UTF-16、UTF-8、ISO-8859-1等)?在文件级别无法做到这一点,但您可以在读取文件后对字符串进行编码/解码。例如,将ISO-8859-1字符串转换为UTF-8字符串: var isoString = sys.io.File.getContent("iso_file.txt");

我知道如何使用sys.io.file.read使用Haxe读取文件(比较一下,我还知道sys模块不适用于每个目标)。但是,我如何告诉sys.io.File.read我的文本文件是通过某种编码方式编码的(例如UTF-16、UTF-8、ISO-8859-1等)?

文件
级别无法做到这一点,但您可以在读取文件后对
字符串进行编码/解码。例如,将ISO-8859-1字符串转换为UTF-8字符串:

var isoString = sys.io.File.getContent("iso_file.txt");
var utf8String = haxe.Utf8.encode(isoString);
sys.io.File.saveContent("utf8_file.txt", utf8String);
标准库目前不支持UTF-16,但是。同时,您可以使用这样的库来实现这一点


顺便说一句,如果你不需要逐行读取文件,这比你链接的
file.read()
-方法要方便得多。

i18n对标准haxe库的添加:与当前haxe开发版本兼容,复制std文件可能不起作用,因为它有新的子模块,所以需要进行修改。用法?编码检测?。但是合法的编码检查是可能的:任何关于Gama11中Haxe的问题的答案都可能是正确的!