Parce que si c'est pas de l'UTF et que tu le décodes, il sera vide
Sauf si c'est de l'utf-8 valide sans être vraiment de l'utf-8.
Le string ISO8859-1 valide "é" est la séquence de bytes "\xc3\xa9"
Qui est aussi la représentation utf-8 du caractère "é".
Il n'y a pas de façon sûre de déterminer l'encodage d'une chaîne de caractères. Parfois pour l'utf-8 certains fichiers commencent en effet par une séquence "magique", mais c'est pas obligé
Et ce n'est de toutes façons jamais vrai pour les encodages ISO qu'on ne peut donc pas distinguer.