我尝试使用以下最小化的 C# 程序生成带有 ANSI 转义码 的彩色控制台输出:
using System;
// test.cs
class foo {
static void Main(string[] args) {
Console.WriteLine("\x1b[36mTEST\x1b[0m");
}
}
我在 Windows 7 x64 上运行 Ansicon v1.66,并使用 csc.exe(Microsoft (R) Visual C# Compiler version 4.6.0081.0)。
在这个配置下,彩色输出正常工作;Ansicon本身也完美运行。
为了交叉检查,我使用一个与 C# 程序完全等效的 node.js 单行程序:
// test.js
console.log("\x1b[36mTEST\x1b[0m");
而更基本的是,一个手工制作的文本文件:
两者都能正确执行预期操作:打印一个青色的字符串"TEST":
只有我用csc构建的test.exe打印出了其他东西。为什么?