Converter caractere não-ASCII para correspondente ASCII [RESOLVIDO]

1. Converter caractere não-ASCII para correspondente ASCII [RESOLVIDO]

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 26/03/2015 - 13:28h

Olá, queria saber se existe uma função na ctype.h (ou mesmo na string.h), que converta um caractere não-ASCII para seu caracteres parecido ASCII. Por exemplo, converter o 'ç' para 'c', ou o 'ã' para 'a' e assim com outros também. Eu poderia fazer uma função do tipo, mas queria saber se existe uma já pronta, pois acredito que uma padronizada é bem melhor que uma feita na mão, isso se existir claro!



  


2. MELHOR RESPOSTA

Paulo
paulo1205

(usa Ubuntu)

Enviado em 26/03/2015 - 15:12h

SamL escreveu:

Olá, queria saber se existe uma função na ctype.h (ou mesmo na string.h), que converta um caractere não-ASCII para seu caracteres parecido ASCII. Por exemplo, converter o 'ç' para 'c', ou o 'ã' para 'a' e assim com outros também. Eu poderia fazer uma função do tipo, mas queria saber se existe uma já pronta, pois acredito que uma padronizada é bem melhor que uma feita na mão, isso se existir claro!


O que você quer fazer se faz com a família de iconv(). Como você quer uma redução, deve usar o sufixo de especificação "//TRANSLIT" na hora de chamar iconv_open().

3. Re: Converter caractere não-ASCII para correspondente ASCII [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 27/03/2015 - 13:46h

Só umas observações que esqueci de fazer anteriormente:

- iconv é coisa do mundo UNIX. Por causa do POSIX, talvez exista em alguns Windows, mas provavelmente de modo não universal. Não sei qual seria a funcionalidade correspondente no mundo Microsoft.

- O sufixo "//TRANSLIT", para fazer transliterações, é coisa de GNU. Outras implementações de iconv, com as dos BSDs, Solaris, AIX e outros) possivelmente não terão a mesma funcionalidade.


Pesquisando a respeito do assunto há poucos minutos, pareceu-me que a melhor alternativa portável entre várias plataformas a a ICU (http://site.icu-project.org/). É uma biblioteca de terceiros (creio que a IBM é o principal patrocinador), mas que me pareceu bem completa e universalmente bem aceita.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts