Sublime Text показывает символы "NUL" в выводе сборки

Я написал простую красную программу "Hello world" в Sublime Text 3:

Red []

print "Hello world!"

Я также создал систему сборки, которую я пытаюсь использовать для компиляции и запуска программы, где G:\Red Programming Language\redlang.exe компилятор языка программирования Red, который я скачал по ссылке Windows здесь:

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

Проблема в том, что всякий раз, когда я использую свою систему сборки на сохраненной программе, странно NUL символ появляется между каждым символом результата сборки:

Скриншот

Это не происходит с любой другой системой сборки, которую я установил. Вывод отображается нормально, если я запускаю redlang.exe из командной строки, так что это, вероятно, проблема с моей настройкой Sublime Text; Я использую Sublime Text Build 3083 и Windows 10. Как мне избавиться от них? NUL персонажи?

1 ответ

Решение

Вывод программ Red в Windows использует встроенную кодировку UTF-16LE, которая является причиной появления символов NUL, которые вы видите, поскольку вывод Sublime по умолчанию использует UTF-8. Вам нужно изменить его в вашей системе сборки, используя encoding команда, как описано в документации системы Sublime build.

Так что вы можете попробовать что-то вроде:

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

Смотрите список поддерживаемых кодировок здесь. Надеюсь это поможет.

Другие вопросы по тегам