Podczas próby przekonwertowania pliku tekstowego na jego odpowiednik ASCII pojawia się komunikat o błędzie iconv: illegal input sequence at position
.
Polecenie, którego używam, to iconv -f UTF-8 -t ascii//TRANSLIT file
Obrażającą postacią jest æ
.
Sam plik tekstowy jest tutaj obecny .
Dlaczego mówi nielegalna sekwencja? Znak wejściowy jest prawidłowy UTF-8 (U + 00E6).
text-processing
character-encoding
unicode
użytkownik13107
źródło
źródło
hexdump -C file
polecenia i otrzymałem0002b220 72 75 69 6e e6 0a 20 2d 2d 20 48 6f 72 61 63 65 |ruin.. -- Horace|
jako wyjście.Plik, który podłączyłeś, wygląda na UTF-8 w dokumencie HTML
Jeśli najpierw uruchomisz go za pomocą konwertera HTML-to-text, np
to fragment UTF-8, z którym masz problem, wydaje się transliterować bezbłędnie, tj
staje się
html2text
Narzędzie nie może być zainstalowany w systemie - jeśli nie można zlokalizować / zainstalować go istnieją inne konwertery tym moduł Pythona.źródło
file
polecenie mówi ASCII, ale powodem jest to, że patrzy tylko na początek pliku, a znak ISO-8859-1 pojawia się daleko, na pozycji 181536.