Mapa de caracteres
Computadores "entendem" números. As letras que você vê são desenhos, que correspondem a números para o computador.
Sendo assim, é necessário existir uma relação entre os números e os desenhos das letras corretas, para que o computador "lembre" das letras certas sempre.
Os primeiros computadores eram bastante limitados quanto a sua capacidade de lembrar coisas (i.e. memória), e, portanto, não podiam lembrar de todos os desenhos (mesmo considerando apenas os símbolos com algum significado +- universal, ou largamente aceito). Além disso, a informática sempre foi dominada pelos EUAenses, que desconhecem, até mesmo com orgulho, letras acentuadas e símbolos gráficos diversos.
Sendo assim, criaram o ASCII, American Standard Code for Information Exchange, Código Americano Padrão (EUA) para Intercâmbio de Informações, para seu próprio uso (desconsiderando teorias de conspiração aleatórias). Este código contém 127 (sim, apenas 127, _não_ 256) caracteres (desenhos) correspondentes a 127 números (no computador).
Com a proliferação dos computadores pelo mundo, o ASCII se tornou insuficiente, já que a maioria dos países usa letras acentuadas, e/ou ideogramas, ou algo entre isso, e possivelmente muito mais que 127. Isso fez com que muitos países criassem seus próprios conjuntos de caracteres, muitos deles baseados no ASCII, mas usando todos os 8 bits de um byte inteiro (128 caracteres extras), para manter a compatibilidade com o EUA (principal fonte de equipamentos/programas/etc.). Porém, esta situação era (e é) inconveniente, pois há línguas com mais de 255 caracteres, e muitas possuem os mesmos caracteres ou similares, mas não necessariamente com o mesmo "valor lingüístico", ou caracteres diferentes, mas com o mesmo "valor lingüístico", etc.. Além disso, é deveras incomoda a troca de textos entre usuários de codificações diferentes, pois os caracteres ficam trocados, exceto possivelmente os primeiros 127 (ASCII).
Mas isso tudo, a