Tengo un servidor de socket que se supone que recibe caracteres válidos UTF-8 de los clientes.
El problema es que algunos clientes (principalmente piratas informáticos) envían todo el tipo de datos incorrectos sobre él.
Puedo distinguir fácilmente al cliente genuino, pero estoy ingresando a los archivos todos los datos enviados para poder analizarlos más tarde.
A veces obtengo caracteres como este œ
que causan el UnicodeDecodeError
error.
Necesito poder hacer la cadena UTF-8 con o sin esos caracteres.
Actualizar:
Para mi caso particular, el servicio de socket era un MTA y, por lo tanto, solo espero recibir comandos ASCII como:
EHLO example.com
MAIL FROM: <john.doe@example.com>
...
Estaba registrando todo esto en JSON.
Luego, algunas personas sin buenas intenciones decidieron vender todo tipo de basura.
Es por eso que para mi caso específico está perfectamente bien quitar los caracteres no ASCII.