Repl.it 控制台上的奇怪字符着色

时间:2021-06-10 03:01:29

标签: java console ansi-escape repl.it

我最近为java做了一个项目,可以读取缓冲图像并在控制台中打印出来。由于它们的方形,我使用上半块字符来表示偶数索引的行,而奇数索引的行只是用背景色着色

private static String getRGB(int rF, int gF, int bF, int rB, int gB, int bB) {
  return "\033[38;2;" + rF + ";" + gF + ";" + bF + 
             ";48;2;" + rB + ";" + gB + ";" + bB + "m";
}

这真的很好用并且提供了很好的像素密度,但是控制台似乎无法在打印时正确打印字符。有时我会留下两个替换字符(“��”将所有像素移到一个上)。同样重要的是要注意,如果字符串被多次打印,则替换会随机发生。

在调试方面,我尝试了很多。我找不到另一种有效的着色方式,并且其他扩展的 ASCII 字符在打印时遇到问题。我尝试使用“\u2580”而不是“▀”,但这没有帮助。也许还值得注意的是 indexOf() 在输出中没有看到任何“��”或“�”。

非常感谢您的帮助或建议!

0 个答案:

没有答案