首先要解决这个问题。我已经在 utf-8 编码下重新编译了 eggdrop。如果我在 strings( \u00a7
) 中编写转义序列,我可以回显 utf-8 字符,但由于某种原因,我还无法弄清楚.. 我无法使用正则表达式将它们与对应的字符进行比较。
我正在尝试开发一个基于 eggdrop 的日志记录脚本,在 tcl 下编码。我已经花了几个小时只做研究,但要么没有任何帮助,要么我找错了地方。
用户在机器人所在的 irc 频道中键入输入字符串 §。linux 端的日志记录脚本将此字符解释为特殊控制字符(I -think-),并在 gedit 中呈现为外观类似于 'FFA7' 的两行特殊字符,FF 在第一行,第二个A7,全部装在一个盒子里。
我的正则表达式很简单:
regexp -all {\u00a7} $text
我当然也尝试过:
regexp -all {\247} $text
不幸的是,正如已经说过的......它不起作用。我每次都得到一个 0,这意味着它永远不会匹配字符。
对于我所做的所有研究,我一直无法弄清楚 eggdrop 将字符串发送到 tcl 脚本的格式。唯一有效的方法是将那个类似盒子的字符从 gedit 直接复制到脚本中。但考虑到我无法复制这个字符,否则编码变得相当不可能。
对于这个问题..我想知道我在这里做错了什么,如果实际上有正确的方法来解释机器人发送的字符串,那么我可以正确地将其中的特殊字符转换为 html 实体。