java - 检测字符串中的 IRC 颜色

标签 java unicode utf-8 irc

我该如何去检测 IRC color codes在一个字符串中?

这是我尝试过的:

int length = message.length();
ArrayList<Object> buffer = new ArrayList<Object>();
for (int i = 0; i < length; i++) {
  char ch = message.charAt(i);
  if (Character.isDefined(ch) && !Character.isLetter(ch)) {
    Methods.log("val " + (int) ch);//Attempt logging the irc color value
  } else {
    buffer.add(ch);
  }
}

然而这失败了。我正在为 11 年级的编程课编写一个 IRC 客户端,我认为添加颜色会是一个很酷的功能。

最佳答案

IRC 颜色是 "specified" by mIRC -- 这很复杂,并非所有客户端都以相同的方式解释规范 -- 但您正在寻找 ^C“控制字符”(0x03) 后跟数字描述要使用的特定前景色和背景色。

在文本流中找到它们后,您需要弄清楚如何更改文本小部件上的文本颜色并且记得在下一个之前将文本设置回正常输出消息。

关于java - 检测字符串中的 IRC 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10905984/

相关文章:

java - 读取文件时需要相应地跳过行号(了解更多)

java - 将 switch 语句与 for 循环结合起来

java - 通过 JavaScript 调用小程序方法将不起作用

MySQL,将表从 Latin-1 更改为 UTF-8

c++ - UTF-8 字符串的大小(以字节为单位)

添加UTF8字符时Java JTextPane更改行高

java - 将文件内容存储到 StringBuilder 显然占用了太多内存

sql - 为什么 SQL Server 在处理半表情符号时表现不一致?

python - 如何避免 scrapy UnicodeEncodeError

linux - Oracle DB 不接受阿拉伯字符