Actuellement, j'ai un simple robot IRC écrit en python.Bogue Python IRC et problème de codage
Depuis que je migré à Python 3.0 qui différencie entre les octets et les chaînes unicode j'ai commencé à avoir des problèmes de codage. Plus précisément, avec d'autres ne pas envoyer UTF-8.
Maintenant, je pourrais simplement dire à tout le monde d'envoyer UTF-8 (ce qu'ils devraient faire) mais une meilleure solution serait d'essayer de faire passer python par défaut à un autre type d'encodage.
Jusqu'à présent, le code ressemble à ceci:
data = str(irc.recv(4096),"UTF-8", "replace")
Ce qui au moins ne jette pas des exceptions. Cependant, je veux aller au-delà: je veux que mon bot par défaut à un autre encodage, ou essayer de détecter des «caractères gênants» en quelque sorte.
De plus, je dois comprendre ce que ce mystérieux encodage que mIRC utilise est en fait - comme d'autres clients semblent fonctionner correctement et envoyer UTF-8 comme ils le devraient.
Comment dois-je faire ces choses?
cp1252 semblera toujours fonctionner pour toute séquence d'octets non nulle, car il affecte un point de code à chaque valeur d'octet sauf zéro. – RichieHindle