現在、私はpythonで書かれた簡単なIRCボットを持っています。Python IRCボットとエンコーディングの問題
バイトとユニコード文字列を区別するpython 3.0に移行して以来、私はエンコーディングの問題を持ち始めました。具体的には、UTF-8を送信しない他のユーザー。
今私は皆にUTF-8を送ってもらうように指示することができますが、もっと良い解決策は、Pythonを他のエンコードなどにデフォルト設定しようとすることです。少なくとも例外をスローしません
data = str(irc.recv(4096),"UTF-8", "replace")
:
これまでのコードは次のようになります。しかし、私はそれを過ぎて行きたい:私はボットが別のエンコーディングにデフォルトするか、何とか "面倒な文字"を検出しようとします。
また、mIRCが実際に使用するこの神秘的なエンコーディングが実際にどのようなものかを理解する必要があります。他のクライアントがうまく動作し、UTF-8を送信するように見えるからです。
これらの作業を行うにはどうすればよいですか?
cp1252はゼロ以外のすべてのバイト値にコードポイントを割り当てるため、ゼロ以外のバイトシーケンスに対しては常に動作するように見えます。 – RichieHindle