Sublime Text显示" NUL"构建输出中的字符

时间:2016-03-23 17:30:49

标签: sublimetext3 sublimetext red sublime-build

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

Red []

print "Hello world!"

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

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

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

Screenshot

我安装的任何其他构建系统都不会发生这种情况。如果我从命令提示符运行redlang.exe,则输出显示正常,因此我的Sublime Text设置可能存在问题;我使用Sublime Text Build 3083和Windows 10.如何摆脱那些NUL个字符?

1 个答案:

答案 0 :(得分:3)

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

所以你可能会尝试类似的东西:

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

请参阅支持的编码列表here。希望这会有所帮助。