ANSI para UTF-8 no Notepad ++

23

Eu tenho um texto codificado em ANSI:

Quandotenteiconvertê-loemUTF-8(usandoomenuNotepad++Encoding>UTF-8),recebialgunscaracteresestranhos:

Eu achava que o UTF-8 era um superconjunto do ANSI e que, posteriormente, não teria esses problemas. Existe alguma maneira que eu possa evitar a aparição desses personagens esquisitos?

    
por user3658425 02.06.2014 / 03:54

1 resposta

35

UTF-8 não é um conjunto de caracteres, apenas uma codificação para Unicode. Os primeiros 128 caracteres são os mesmos que o ASCII, mas diferem nos 128 bytes altos. Um byte com o bit alto definido (ou > = 0x80) é um caractere estendido em ASCII enquanto em UTF-8 indica o byte inicial de uma seqüência de múltiplos bytes. Esse é o caso de 0x93 ou 0x94 acima. No entanto, não vejo nada de estranho no arquivo. Essas são citações inteligentes ou citações com formulários diferentes para cotações de abertura e fechamento, que você costuma ver ao usar um texto rich text editor como o MS Word

Editar

A pergunta foi editada. Eu acho que é porque você escolheu a ferramenta errada. Os itens de menu encode são para alterar a codificação se você tiver exibições incorretas de caracteres. Apenas trata a mesma sequência de bytes lida do disco como outra codificação. Como ASCII e UTF-8 são diferentes, você terá uma seqüência de bytes UTF-8 malformada e verá o resultado acima. Você precisa escolher convert to UTF-8 para alterar todos os bytes de entrada

VocêtambémconfundiuANSIeASCII.ANSIgeralmenteserefereaoWindows-1252,queéumconjuntodecaracteresusadonoWindowseminglêseemalgunsidiomasdaEuropaOcidental.ÉumsuperconjuntodaISO8859-1,emboraaISO8859-1tambémpossaserreferidacomoANSI.OISO8859-1étambémoprimeiro256pontosdecódigodoUnicode,portanto,éumsubconjuntodoUnicode,masnãoécompatívelcomacodificaçãoUTF-8.ASCIIéumconjuntodecaracteresde7bitseéumsubconjuntodoANSIqueécodificadopor8bits,mastambéméporvezesreferidocomoANSI,emboranãosejamuitocorreto

link

Em geral, a relação entre os conjuntos de caracteres é a seguinte

ASCII < ISO 8859-1 < Windows-1252
        ^
        Unicode
    
por 02.06.2014 / 04:08