Eu tenho um servidor de soquete que deveria receber caracteres válidos UTF-8 dos clientes.
O problema é que alguns clientes (principalmente hackers) estão enviando todo o tipo errado de dados sobre ele.
Posso distinguir facilmente o cliente genuíno, mas estou registrando nos arquivos todos os dados enviados para poder analisá-los mais tarde.
Às vezes, recebo caracteres como esse œ
que causam o UnicodeDecodeError
erro.
Eu preciso ser capaz de criar a string UTF-8 com ou sem esses caracteres.
Atualizar:
Para meu caso particular, o serviço de soquete era um MTA e, portanto, espero receber apenas comandos ASCII, como:
EHLO example.com
MAIL FROM: <john.doe@example.com>
...
Eu estava registrando tudo isso no JSON.
Então algumas pessoas por aí, sem boas intenções, decidiram vender todo tipo de lixo.
É por isso que, no meu caso específico, é perfeitamente aceitável remover os caracteres não ASCII.