jader.marques Postado Julho 26, 2012 Denunciar Share Postado Julho 26, 2012 Boa tarde a todos.Estou desenvolvendo um programa no qual uso a biblioteca glib.Preciso converter uma string UTF-8 para ISO-8859-1 ou vice e versa, ou outros enconding, estou usando a função g_convert da glib.Gostaria de saber como faço pra saber o encoding de um string?Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo Utikawa da Fonseca Postado Julho 27, 2012 Denunciar Share Postado Julho 27, 2012 Boa tarde!Não existe uma forma de se descobrir pois não há na string um identificador.Um exemplo seria o ISO-8859-1 e o UTF-8. Uma string apenas com os caracteres normais (letras sem acentuação, números) seria exatamente igual em ambas codificações. Já se tivesse um caracter acentuado, por exemplo, teria uma diferença.Assim, o máximo que daria para fazer é tentar consistir os dados para verificar se o formato bate com algum padrão.Exemplo: no UTF-8, os caracteres especiais podem ter até 4 bytes. A codificação é a seguinte:Até 0x007F (7 bits), o valor resultante não é alterado: será apenas 1 byte, 0xxxxxxx em binárioDepois, até 0x07FF (11 bits), serão dois bytes no formato: 110xxxxx e 10xxxxxxOu seja: em uma string UTF-8, quando o oitavo bit de qualquer byte estiver ligado, indica que é um caracter com mais de 7 bits e portanto deverá obedecer a regra acima.Pode ser um pouco complicado de entender mas, em resumo: sem saber a codificação original, o máximo que podemos fazer é tentar descobrir a codificação, sem qualquer garantia de estarmos certos ou não... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
jader.marques
Boa tarde a todos.
Estou desenvolvendo um programa no qual uso a biblioteca glib.
Preciso converter uma string UTF-8 para ISO-8859-1 ou vice e versa, ou outros enconding, estou usando a função g_convert da glib.
Gostaria de saber como faço pra saber o encoding de um string?
Obrigado.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.