Eu tenho arquivos de texto codificado em ISO-8859 enviados a mim regularmente por clientes que contêm informações de depuração.
Recentemente, eles começaram a aparecer na minha caixa de entrada como ASCII codificado com alguns caracteres extras no arquivo como resultado, quebrando o analisador que escrevi para esses arquivos.
Limitei-o ao cliente de e-mail usado pelo cliente que altera a codificação.
É possível reverter essa falsa mudança de codificação?
Como estou trabalhando com Linux, prefiro uma solução para Linux, mas também estaria interessado em soluções para outros sistemas operacionais.
Aqui estão algumas saídas para referência e informações:
$ file /tmp/{wrong,right}_enc.txt
/tmp/wrong_enc.txt: ASCII text
/tmp/right_enc.txt: ISO-8859 text, with very long lines, with CRLF line terminators
$ file -bi /tmp/{wrong,right}_enc.txt
text/plain; charset=us-ascii
text/plain; charset=iso-8859-1
Exemplos de conteúdo (as informações são diferentes, a estrutura deve ser a mesma, mas o arquivo wrong_enc.txt possui caracteres adicionais atrás de '=' e no EOL, por exemplo):
$ head /tmp/{wrong,right}_enc.txt
==> /tmp/wrong_enc.txt <==
Tue Jun 11 15:51:54 2019=0D
=0D
=0D
###Eth-eth0-driver =3D igb=0D
###Eth-eth0-ipaddr =3D 192.168.99.100=0D
###Eth-eth0-link =3D yes=0D
###Eth-eth1-driver =3D e1000e=0D
###Eth-eth1-ipaddr =3D =0D
###Eth-eth1-link =3D no=0D
==> /tmp/right_enc.txt <==
Wed Apr 17 16:47:21 2019
###Eth-eth0-driver = e1000e
###Eth-eth0-ipaddr = 192.168.178.35
###Eth-eth0-link = yes
###Eth-ethnames = eth0
###Eth-ethtool-eth0 =