目前我有一个用 python 编写的简单 IRC 机器人。
自从我将它迁移到区分字节和 unicode 字符串的 python 3.0 后,我开始遇到编码问题。具体来说,其他人不发送 UTF-8。
现在,我可以告诉每个人发送 UTF-8(不管怎样,他们都应该这样做),但更好的解决方案是尝试让 python 默认为其他编码等。
到目前为止,代码如下所示:
data = str(irc.recv(4096),"UTF-8", "replace")
至少不会抛出异常。但是,我想跳过它:我希望我的机器人默认使用另一种编码,或者尝试以某种方式检测“麻烦的字符”。
此外,我需要弄清楚 mIRC 实际使用的这种神秘编码是什么——因为其他客户端似乎可以正常工作并按应有的方式发送 UTF-8。
我应该如何去做这些事情?