[pyar] Sockets & Encoding
Tordek
kedrot en gmail.com
Dom Jul 8 03:50:31 ART 2012
2012/7/7 Pablo M. Mana <pablo.m.mana en gmail.com>:
>> El problema es que no se puede: como ves en tus mensajes, lo que ves
>> es feo... pero perfectamente válido. A lo mucho, heurísticas... pero
>> ¿qué pasa el día que se conecta Juancito Acosta de 13 años con el nick
>> Jéosta? ¿Le ponés "Jésta"?
>
> Creo que primero me sacaria el sombrero si lo logra poner ese nick en
> una server que mas o menos siga la rfc, esta bastante normalizado que
> caracteres se puede usar en los nicks y los canales.
Imagino que te das cuenta que era un ejemplo por decir un ejemplo. El
punto es que aunque para vos sea basura, para otro tiene significado.
> Sospecho que facil no es pero los clientes de irc de alguna forma se
> las arrelgan.
IRSSI, por mencionar uno, ni se preocupa por eso; le tenés que
mencionar explícitamente qué encoding usar.
> ¿Te podes explayar un poco en eso de las heuristicas?
Listas de palabras y darle un rating a cada frase según la
probabilidad de cada encoding. Overkill al mango.
Con lo más parecido a una solución, que creo que es más o menos lo que
hace Irssi... podés aprovechar que no toda secuencia de bytes es UTF-8
válido, y, simplemente:
try:
message = decode.decode(raw_message, "UTF-8")
except:
message = decode.decode(raw_message, "latin-1")
(Pero no al revés.)
(Ah, y, quizá deberías dejale al usuario especificar el o los
encodings a intentar, posiblemente según el canal, porque UTF-8 es muy
lindo para nosotros, pero los japoneses quieren Shift-JIS porque UTF-8
dice que algunos Kanji son iguales cuando ellos dicen que no...)
>
> Saludos
More information about the pyar
mailing list