Recentemente, comecei a usar o Notepad ++. Porém, quando abro um arquivo txt contendo traços, esses traços são exibidos como caracteres chineses.
Aqui está uma captura de tela de um arquivo de teste aberto no Bloco de Notas:
E aqui está uma captura de tela do mesmo arquivo aberta no Notepad ++.
Alguém pode explicar esse comportamento estranho e explicar como evitá-lo?
Obrigado!
—
e, quando abri no Notepad ++, parecia semelhante à sua captura de tela. Provavelmente, é assim que o Notepad ++ interpreta esse caractere, mas se você acessar as opções de codificação e alterá-lo para outros (por exemplo, ANSI), verá o caractere interpretado mudar para algo diferente. Eu acho que é simples como o software editor de texto interpreta os caracteres.Settings
|Preferences
|New Document
| e selecione a opção na seção Codificação que atende às suas necessidades. Na próxima vez que você fechar e abrir o documento, a nova codificação selecionada deverá ser o padrão do Notepad ++.Respostas:
Eu posso reproduzir o problema.
Motivo: detecção automática de codificação de arquivo.
Seu arquivo é codificado na tabela de códigos padrão de 8 bits, ou seja, Windows-1252 (conforme indicado no seu comentário abaixo da pergunta), uma das codificações ANSI de 8 bits, com 256 caracteres possíveis. Mas parece que o Notepad ++ está interpretando o arquivo que contém traços como se estivesse na codificação Shift-JIS . (Essa codificação pode ser vista na barra de status, no canto inferior direito da janela principal do Notepad ++, quando o problema ocorre.) Portanto, o Notepad ++ interpreta caracteres com um valor ASCII maior que 127 encontrado no arquivo como caracteres japoneses.
Solução: Altere a codificação do seu arquivo para UTF-8 (ou outra codificação adequada).
Talvez você possa contestar que não deseja UTF-8, mas não indicou essa limitação na pergunta e, geralmente, não há razão para não usá-la. Ele manterá todos os caracteres estáveis, sem problemas de aparência que você encontrou. A limitação pode ser processada em aplicativos / ferramentas mais antigos. Então você precisa seguir a codificação ANSI que eles exigem.
Informação adicional:
O UTF-8 é totalmente suportado pelo Bloco de Notas, fornecido com o Windows, portanto você não terá problemas aqui. No entanto, eu recomendo usar arquivos UTF-8 com BOM . O UTF-8 sem BOM também funciona, mas quando a marca está ausente, os editores confiam na detecção automática de formato e, como você pode ver, às vezes pode dar errado. Vi que alguns programas mais antigos reclamavam do marcador da lista de materiais, como "Caracteres inválidos no início do arquivo". e depois converti meu arquivo em UTF-8 sem BOM.
Unicodeo padrão suporta mais de 256 pontos de código: o número total suportado é 1.114.112. Segundo a Wikipedia, esse espaço é atualmente usado por 136.755 caracteres, abrangendo 139 scripts modernos e históricos, além de vários conjuntos de símbolos. O restante é reservado para uso futuro. Como você pode ver, Unicode é a codificação que cobre a maioria dos caracteres mais usados no mundo, para que você nunca caia nos problemas das páginas de códigos novamente. Você não precisa se ater ao UTF-8, o Unicode também pode ser representado como UTF-16, UTF-32 ou em várias representações mais exóticas (UTF-7, UTF-1 e outras) ou em formas não transitórias como UCS- 4) Nelas, o UTF-8 é mais suportado, por isso recomendo este. Sem o uso de caracteres acima do ponto de código 127, ele é compatível com ASCII (exceto a marca BOM,
Se algum programa precisar de uma página de código sua, selecione a página de código 65001 para UTF-8.
Se você deseja explorar todos os caracteres do Unicode, incluindo pesquisa ou filtragem por nome ou outras propriedades ou identificação de caracteres desconhecidos, use, por exemplo, BabelMap .
fonte