Como o “corte e a pasta” afeta a codificação dos personagens e o que pode dar errado?
-
20-09-2019 - |
Pergunta
Eu tenho um documento A na codificação de um exibido na ferramenta A e um documento B na codificação B exibida na ferramenta B. Se eu cortar e colar (parte de) b em um que pode ser o caráter resultante que codifica? Sei que isso depende da ferramenta A e da ferramenta B e das informações mantidas no buffer de pasta (que presumivelmente podem conter uma codificação?) E o sistema operacional.
O que as ferramentas de alta qualidade devem fazer? E na prática quantas das ferramentas comuns (por exemplo, Word, TextPad, vários IDEs etc.) fazem um bom trabalho?
Solução
Primeiro de tudo, a representação interna de texto de um editor de texto não tem rolamento sobre como o texto é codificado (serializado) quando você salva o arquivo. Portanto, um documento não está "em" uma codificação; É uma sequência de caracteres abstratos. Quando o documento é salvo em um arquivo (ou transmitido pela rede) então é codificado.
Cabe a cada aplicativo decidir o que ele coloca na área de transferência. Normalmente, um aplicativo Windows que sabe o que está fazendo colocará várias representações diferentes na área de transferência. Quando você cola no outro aplicativo, o aplicativo procurará a representação que melhor atende à sua necessidade.
No seu caso, um editor de texto (que sabe o que está fazendo) colocará uma representação unicode de uma string selecionada na área de transferência (onde o Unicode, no Windows, normalmente é movido como UTF-16, mas isso não é importante). Quando você cola no outro aplicativo, ele insere essa sequência de caracteres unicode no documento no ponto de seleção.
Há um aplicativo flutuando chamado "clipspy" que ajudará você a ver do que estou falando, interativamente.