Per quello che capisco, data una sequenza di byte senza ulteriori informazioni, non è generalmente possibile capire di quale codifica stiamo parlando. Ovviamente possiamo indovinare (ad esempio% per Encode::Guess e strumenti simili), ma a volte questo non è fattibile.
Nel mio caso, ho un array di byte che è \xe2\x80\xa1 , e posso dedurre dal contesto (come umano) che dovrebbe corrispondere a un carattere à ( \xc3\xa0 in UTF-8 ) o a á ( \xc3\xa1 in UTF-8 ). Viene da un xml che dichiara iso8859-1 nell'intestazione, ed è prodotto da uno strumento di terze parti, che è chiaramente rotto, ma devo affrontarlo. Come puoi immaginare, la decodifica fallisce, e non c'è fortuna con Encode::Guess .
Come affronteresti questo tipo di problema? So che non esiste un proiettile d'argento, ma esiste uno strumento che supera gli altri?