C 在 iTerm2 中以彩色打印宽字符

C print wide chars in colors in iTerm2

我有一个宽字符 wchar_t* 字符串,我想用 write(3)

彩色打印它

像这样:

write(1, L"\x1b[31m", 5 * sizeof(wchar_t));
write(1, L"BLA", 3 * sizeof(wchar_t));
write(1, L"\x1b[0m", 5 * sizeof(wchar_t));

无色打印 [31mBLA[0m

还有这样的东西:

write(1, "\x1b[31m", 5);
write(1, "BLA", 3);
write(1, "\x1b[0m", 5);

red 中正确打印 BLA

知道如何用彩色打印 wide char 字符串吗?

编辑:它似乎在 Terminal.app 中打印正确,但在 iTerm2 中打印不正确,知道为什么吗?

好吧,这还没有在 iTerm2 中实现,我在这里打开了一个问题:iTerm2 issue 3460

已经设置了一个里程碑来实现这个我会在完成后更新答案。