Saya memiliki server soket yang seharusnya menerima karakter valid UTF-8 dari klien.
Masalahnya adalah beberapa klien (terutama peretas) mengirimkan semua jenis data yang salah di atasnya.
Saya dapat dengan mudah membedakan klien asli, tetapi saya masuk ke file semua data yang dikirim sehingga saya bisa menganalisisnya nanti.
Terkadang saya mendapatkan karakter seperti ini œ
yang menyebabkan UnicodeDecodeError
kesalahan.
Saya harus bisa membuat string UTF-8 dengan atau tanpa karakter tersebut.
Memperbarui:
Untuk kasus khusus saya, layanan socket adalah MTA dan karenanya saya hanya berharap untuk menerima perintah ASCII seperti:
EHLO example.com
MAIL FROM: <john.doe@example.com>
...
Saya mencatat semua ini di JSON.
Kemudian beberapa orang di luar sana tanpa niat baik memutuskan untuk menjual semua jenis sampah.
Itulah sebabnya untuk kasus khusus saya, sangat oke untuk menghapus karakter non ASCII.