2

我在 Sublime Text 3 中编写了一个简单的红色“Hello world”程序:

Red []

print "Hello world!"

我还创建了一个构建系统,我试图用它来编译和运行程序,我从这里G:\Red Programming Language\redlang.exe的 Windows 链接下载的 Red 编程语言编译器在哪里:

{
    "shell_cmd": "\"G:\\Red Programming Language\\redlang\" \"$file\""
}

问题是每当我在保存的程序上使用我的构建系统时,NUL构建输出的每个字符之间都会出现一个奇怪的字符:

截屏

我安装的任何其他构建系统都不会发生这种情况。如果我redlang.exe从命令提示符运行,输出看起来很好,所以这可能是我的 Sublime Text 设置的问题;我正在使用 Sublime Text Build 3083 和 Windows 10。我怎样才能摆脱这些NUL字符?

4

1 回答 1

3

Windows 上 Red 程序的输出使用本机 UTF-16LE 编码,这是您看到 NUL 字符的原因,因为 Sublime 的输出捕获默认为 UTF-8。您需要使用 Sublime 构建系统文档encoding中描述的命令在构建系统中更改它。

因此,您可以尝试以下方法:

{
    "shell_cmd": "\"G:\\Red Programming Language\\redlang\" \"$file\"",
    "encoding": "UTF-16LE"
}

请参阅此处支持的编码列表。希望这可以帮助。

于 2016-03-24T03:02:51.770 回答