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: Fernando Mercês
Subject: Re: [shell-script] Detectar codificação de texto
Date: Fri, 6 Feb 2015 22:33:51 +0800

Se tiver acentuação será que daria pra afirmar que pelo menos não é ascii? Tipo:

$ grep -q '[ãõâáêéíúüç]' <(echo 'algo legalzão') && echo utf || echo ascii

Mas não resolve os caracteres estranhos, creio.

Abs


Att,

Fernando Mercês
Linux Registered User #432779
www.mentebinaria.com.br
------------------------------------
"Ninguém pode ser escravo de sua identidade; quando surge uma possibilidade de mudança é preciso mudar". (Elliot Gould)

2015-02-06 22:29 GMT+08:00 Marcelo F Andrade address@hidden [shell-script] <address@hidden>:
 

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]