A codificação é o processo de tradução de dados entre dois formatos de acordo com um conjunto de regras ou uma fórmula. Por exemplo, você pode codificar "abc" para "abc" usando regras minúsculas-a-maiúsculas. A decodificação é o processo inverso. Você pode decodificar "abc" para "abc" utilizando o mesmo conjunto de regras. Há muitas aplicações diferentes para codificação de dados e decodificação. Criptografia de, por exemplo, é uma forma de codificação que utiliza uma chave. Sem a chave, os dados codificados não pode ser descodificada. Os dados de vídeo é codificado para reduzi-la para que os fluxos de alta definição de vídeo pode ser visto através da Internet.
Codificação de mídia
A codificação é utilizada para reduzir o tamanho dos dados de áudio e vídeo. Um programa de codificador-descodificador, chamado um codec, aplica-se uma série de algoritmos matemáticos que eliminam os dados redundantes. Por exemplo, suponha que um arquivo continha os dados "ABCDQABC." algoritmo Codec nº 1 do poderia ser a de substituir "abc" com "Z." O arquivo resultante seria "ZDQZ," que é 50 por cento menor do que o arquivo original. algoritmo Codec nº 2 do pode substituir "ABC?" com "Y" e "?ABC" com "X," Onde "?" indica qualquer personagem. O arquivo resultante seria "YX," que é 75 por cento menor do que o arquivo original.
mídia Decoding
Decodificação usa o mesmo codec para reconstruir o arquivo original a partir de um arquivo codificado. Por exemplo, aplicando-se a um Codec # "ZDQZ" in substitui reversa "Z" com "abc" para criar o arquivo original "ABCDQABC." Codec nº 1, que foi 50 por cento menor, é chamado um codec sem perdas, porque a descodificação sempre recria o arquivo original. Codec # 2 decodificações "YX" com "ABC ?? ABC," e, em seguida, tenta adivinhar o que os personagens estão desaparecidas. O codec pode imaginar "DE," o que resulta em "ABCDEABC." Codec # 2, que foi 75 por cento menor, é um codec com perdas, porque o processo de decodificação pode criar um arquivo que é perto do original, mas não idênticas.
URLs e conjuntos de caracteres
Nem todos codificação produz um resultado que é menor do que os dados não codificados. Por exemplo, o URL "example.com/Secret de Life.html" é inválido porque contém espaços. Um programador Web codifica a URL, que substitui todos os espaços com "% 20" para criar "example.com/Secret%20of%20Life.html." O processo de descodificação executa a operação inversa e substitui "% 20" com um espaço. Da mesma forma, um programa de banco de dados pode codificar todos os dados em Unicode, um mestre conjunto de caracteres na maioria dos idiomas. Quando um usuário recupera dados, o programa decodifica o Unicode para coincidir com as configurações de idioma e teclado do usuário.
Codificação que não pode ser decodificado
Algumas codificações não se destinam a ser descodificado. Um hash é uma longa seqüência de caracteres aleatórios usados com um algoritmo de codificação para produzir um resultado criptografado que não pode ser decodificado, mesmo quando você sabe o hash. Por exemplo, a senha de um usuário pode ser criptografada com um hash e armazenada em um banco de dados. Se um hacker descobre o banco de dados, ele não pode decodificar quaisquer senhas. Quando um usuário efetua login, o sistema codifica a senha que o usuário entra com o hash e compara o resultado com o armazenado no banco de dados. Se um usuário esquecer sua senha, ele deve alterá-lo, porque o sistema não conhece a sua senha original, apenas o seu valor criptografado.