arquivo de texto XML com caracteres '^ @' nele?

3

Eu tenho um arquivo XML que preciso analisar. Quando eu abri-lo em nano, nano me dá a mensagem (converted from Mac format) . No entanto, entre cada caractere, há uma sequência ^@ , assim:

^@t^@h^@e^@ ^@q^@u^@i^@c^@k^@ ...

Que formato é este e como faço para que ele seja exibido corretamente? Como posso convertê-lo?

    
por user394 05.10.2011 / 15:24

1 resposta

6

É um formato de byte duplo, provavelmente UTF-16. Veja se você consegue identificar um cabeçalho BOM (Byter Order Mark) no início do arquivo. Isto irá dizer-lhe a codificação, se estiver presente, embora possa não ser. Note que um editor de texto pode esconder isso de você, então você provavelmente precisará olhar para o arquivo com um utilitário de despejo hexadecimal, como od ou algo semelhante para ver a lista de materiais.

Existem alguns utilitários de conversão de conjuntos de caracteres que podem ajudar. Alguns exemplos são iconv e recode . Você pode usar um desses para recodificar o arquivo em um formato que funcionará bem com o seu editor de texto.

Se você precisar fazer a tradução programaticamente, a maioria dos idiomas, como o Python, possui bibliotecas para mapeamento entre os esquemas de codificação. O www.unicodetools.com mostra alguns dos encantamentos relevantes para vários idiomas. Uma boa FAQ sobre Unicode pode ser encontrada aqui e o Web site tem muitos, muitos recursos úteis sobre o assunto.

    
por 05.10.2011 / 15:54