Às vezes, o e-mail recebido pode, em vez de texto, conter uma mistura muito bizarra de símbolos e sinais gráficos, que lembra hieróglifos, que, com a “mão leve” de alguém, apelidou de “kryakozyabra”. Isso acontece não só com o texto das cartas, mas também com o conteúdo das páginas da web, alguns arquivos de texto e até mesmo com as inscrições na interface dos programas de computador.
Ao salvar e exibir letras, números, sinais de pontuação e outros elementos de texto na tela, o sistema operacional do computador usa tabelas especiais. Neles, todos esses símbolos são colocados em uma ordem estritamente definida. Quando você salva qualquer documento que contém texto, não as letras e os números em si são gravados no arquivo, mas seus números de série nesta tabela. Quando você abre tal documento, ocorre a operação oposta - o aplicativo lê os números dos caracteres do arquivo e exibe os caracteres correspondentes da tabela na página. Essas tabelas são chamadas de "conjuntos de caracteres" (CharSets para abreviar) ou "codificações".
Existem algumas dessas tabelas - várias dezenas. No início, cada fabricante concorrente de software de computador criou sua própria tabela de símbolos, depois foram criadas tabelas para vários alfabetos nacionais com a inclusão obrigatória do inglês, então, conforme os sistemas operacionais melhoraram, suas variantes foram criadas para novas possibilidades, etc. Se o texto escrito e salvo usando uma dessas tabelas for aberto usando outra, o resultado será o que chamamos de palavra "kryakozyabry" - os números dos símbolos permanecerão os mesmos, mas os símbolos correspondentes a eles nesta tabela serão ser completamente diferente.
Uma indicação da codificação que um aplicativo de computador deve usar para exibir o conteúdo de texto de um arquivo é gravada no campo de serviço desse arquivo. Se o texto for transmitido por redes, a indicação da codificação é enviada no campo de serviço do pacote de informações transmitido. No código HTML de páginas da web, uma tag especial é usada para armazenar o nome da codificação usada. Em uma mensagem de e-mail, a codificação é transmitida em campos de serviço junto com informações sobre o remetente, destinatário, etc. Se não houver indicação de codificação por qualquer um dos métodos acima, você terá que lidar com os crackers manualmente - tente selecionar a codificação desejada usando os meios do aplicativo que você está usando. Essa função é fornecida no navegador e no cliente de e-mail, e um editor de texto (por exemplo, Microsoft Word) tenta determinar a codificação correta por indicações indiretas.
Parece que hoje foi finalmente criado um padrão de tabela de caracteres que se adapta a todos - é chamado de "Unicode". Mas a transição para ele ainda está sendo realizada, então você terá que lidar com o pato-real por mais alguns anos.