У меня есть сервер сокетов, который должен принимать действительные символы UTF-8 от клиентов.
Проблема в том, что некоторые клиенты (в основном хакеры) отправляют через них все неправильные данные.
Я могу легко отличить подлинного клиента, но я записываю в файлы все отправленные данные, чтобы потом проанализировать их.
Иногда я получаю такие символы, œ
которые вызывают UnicodeDecodeError
ошибку.
Я должен быть в состоянии сделать строку UTF-8 с или без этих символов.
Обновить:
В моем конкретном случае служба сокетов была MTA, и поэтому я ожидаю только получения команд ASCII, таких как:
EHLO example.com
MAIL FROM: <john.doe@example.com>
...
Я записывал все это в формате JSON.
Тогда некоторые люди без добрых намерений решили продать все виды мусора.
Вот почему для моего конкретного случая вполне нормально удалить символы, не входящие в ASCII.