Converter ANSI para ASCII
Converta texto de Windows code-page para strict ASCII, verificando a perda de caracteres e a compatibilidade.
Como converter ansi para ascii arquivo
- Outro
- Nenhuma avaliação ainda.
O que ANSI significa
ANSI geralmente é um nome impreciso para uma codificação de caracteres do Windows, não um formato de arquivo específico. As páginas de códigos comuns incluem Windows-1252 para textos da Europa Ocidental, Windows-1251 para cirílico e Windows-1250 para textos da Europa Central. Editores antigos do Windows, utilitários do DOS, sistemas de contabilidade e programas de exportação geralmente produzem arquivos descritos como ANSI.
A codificação de origem exata não pode ser determinada de forma confiável apenas pelo nome do arquivo ou pelos bytes. Identifique a página de códigos com base no programa que criou o arquivo, na documentação dele ou no idioma e nos caracteres presentes no conteúdo. “ANSI” também pode descrever sequências de escape de terminal usadas para texto colorido ou posicionado; alterar a codificação de caracteres não remove nem interpreta essas sequências.
O que ASCII oferece
ASCII define 128 valores, incluindo letras latinas, dígitos decimais, pontuação, espaços em branco e caracteres de controle. Um arquivo ASCII estrito contém apenas bytes de 0x00 a 0x7F, geralmente sem uma marca de ordem de bytes. Isso oferece suporte a hardware antigo, ferramentas de linha de comando, sistemas de importação de dados e dispositivos que rejeitam bytes acima de 127.
ASCII não pode representar letras acentuadas, aspas curvas, travessões, a maioria dos alfabetos não latinos, emojis ou outros caracteres Unicode. Portanto, a conversão precisa transliterar um caractere, como é para e, ou substituí-lo, normalmente por ?. O resultado pode perder informações e não pode ser reconstruído de forma confiável. ASCII não é necessariamente menor que o arquivo original da página de códigos: ambos geralmente usam um byte por caractere.
Converter com iconv
- Determine a página de códigos de origem real. Use
CP1252somente quando o arquivo for realmente Windows-1252; não trate todo arquivo rotulado como ANSI como CP1252. - No macOS ou Linux, execute:
iconv -f CP1252 -t ASCII//TRANSLIT input.txt -o output.txt - Abra
output.txtem um editor que reconheça bytes e procure pontos de interrogação ou caracteres ausentes. Verifique as quebras de linha caso o sistema receptor exija CRLF ou LF.
Substitua CP1252 pelo nome correto da origem, como CP1251. //TRANSLIT solicita que a implementação instalada de iconv faça uma aproximação dos caracteres incompatíveis; os resultados variam de acordo com a plataforma. Sem transliteração, use -t ASCII; caracteres incompatíveis geralmente produzem um erro em vez de uma saída completa válida. Mantenha o arquivo original até que a saída tenha sido verificada.
Converter com software para desktop
Editores como EmEditor, UltraEdit e BBEdit podem abrir um arquivo usando uma página de códigos do Windows especificada e salvá-lo como US-ASCII ou ASCII. Abra o arquivo por meio de File → Open, selecione a codificação de origem conhecida, use File → Save As e escolha a codificação ASCII explícita. Selecionar “ANSI” na exportação não é suficiente: isso normalmente grava a página de códigos ativa do Windows e pode manter bytes acima de 127.
Notepad++ pode inspecionar ou reabrir um arquivo com uma codificação selecionada, mas o comando Encoding → Convert to ANSI significa a página de códigos ativa do Windows, não ASCII estrito. Use uma opção ASCII explícita se a versão instalada oferecer uma, ou use Notepad++ para corrigir a interpretação da origem e depois converta com iconv ou outro editor que ofereça suporte explícito a US-ASCII.
Usar um conversor online
Para um arquivo de texto pequeno e não confidencial, um conversor de codificação de caracteres baseado em navegador e de boa reputação, como o conversor de codificação de texto do Browserling, pode converter da página de códigos do Windows selecionada para ASCII. Escolha a página de códigos de origem real, selecione ASCII ou US-ASCII como destino, converta e baixe o resultado.
Não envie senhas, dados pessoais, código proprietário ou registros regulamentados. Um conversor local evita a transferência do arquivo e oferece melhor controle sobre erros e cópias retidas.
Verificar compatibilidade e perda de dados
Decodificar usando a codificação de origem errada corrompe os caracteres antes do início da conversão para ASCII. Windows-1252 e ISO-8859-1 são semelhantes, mas não idênticos: os bytes usados para aspas tipográficas, o símbolo do euro e outros caracteres do Windows podem ser interpretados incorretamente quando tratados como ISO-8859-1.
Revise cada caractere não ASCII na origem, especialmente nomes, endereços, medidas, aspas e símbolos de moeda. Confirme que a saída não contém bytes acima de 0x7F; em sistemas semelhantes ao Unix, LC_ALL=C grep -n '[^ -~]' output.txt pode ajudar a localizar bytes não ASCII, embora também sinalize tabulações e outros caracteres de controle. Verifique se o destino exige uma quebra de linha específica e se rejeita sequências de escape de terminal ANSI.
Se o sistema receptor aceitar UTF-8, use UTF-8 em vez de ASCII. UTF-8 preserva os caracteres originais e tem amplo suporte, enquanto a conversão estrita para ASCII é apropriada somente quando o destino exige especificamente dados de 7 bits.