shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Detectar codificação de texto


From: Marcelo F Andrade
Subject: Re: [shell-script] Detectar codificação de texto
Date: Fri, 6 Feb 2015 11:29:38 -0300

015-02-06 9:07 GMT-03:00 Robson Alexandre address@hidden
[shell-script] <address@hidden>:
> talvez eu não tenha me expressado direito, mas o que estou tentando buscar é 
> alguma maneira de detectar a codificação de uma string, e não do conteúdo do 
> arquivo como um todo [corta/]

Então, a princípio, não tem como.  De fato os "caracteres estranhos"
numa codificação ainda assim são caracteres válidos numa outra
codificação.  Mas se você tiver uma base de caracteres "válidos" no
mesmo arquivo e um conjunto limitado de charsets (iso-8859-1 e utf-8,
por exemplo), pode inferir qual seja a codificação correta.   Veja se
consigo ajudar:

$ wget -O arquivo http://termbin.com/cq15
$ nl arquivo | tail -2
   24  Documentos/ebooks/xadrez/Introdução ao Xadrez.pdf
   25  Documentos/ebooks/xadrez/Introdu��o ao Xadrez.pdf

$ nl arquivo | aspell conv iso-8859-1 utf-8 | tail -2
   24  Documentos/ebooks/xadrez/Introdução ao Xadrez.pdf
   25  Documentos/ebooks/xadrez/Introdução ao Xadrez.pdf

A linha 24 está em utf-8 e a linha 25 eu tenho certeza que foi escrita
originalmente em iso-8859-1 (De novo, na verdade tudo está em utf-8,
os caracteres "?" malucos a pessoa digitou pensando estar noutra
codificação.  Como não se atentou aos charsets, digitou "Introdu��o"
pensando estar digitando "Introdução").  Na verdade, é mais ou menos a
mesma ideia do Tiago de outra forma.

Se só tiver texto, uma abordagem alternativa seria tentar passar um
corretor para tentar "consertar" as palavras.  Talvez um `aspell -l
pt_BR -c arquivo` poderia ajudar, mas a questão fica em como lidar com
palavras contendo simbolos.

Boa sorte.

-- 
MARCELO F ANDRADE | Belem, Amazonia, Brazil | http://about.me/mfandrade


reply via email to

[Prev in Thread] Current Thread [Next in Thread]