ASCII:
Es un código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno. Fue creado en 1963 por el Comité Estadounidense de Estándares como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control.
El Código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión.
ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. En la actualidad define códigos para 32 caracteres no imprimibles, de los cuales la mayoría son caracteres de control que tienen efecto sobre cómo se procesa el texto, más otros 95 caracteres imprimibles que les siguen en la numeración

tabla con el lebguaje ascii. Fuente sacada de: https://commons.wikimedia.org/wiki/File:ASCII-Table.svg
ASCII extendido:
Se denomina ASCII extendido a cualquier juego de caracteres de 8 bits, en el cual los códigos 32 a 126 coinciden con los caracteres imprimibles de ASCII, así como los caracteres comúnmente llamados "de espacio", estos son los códigos de control de 8 a 13, ambos inclusive. Las codificaciones de ASCII extendido utilizan además parte o la totalidad de los códigos superiores a 128 para codificar caracteres adicionales a los caracteres imprimibles ASCII.

tabla que muestra el lenguaje ascii extendido. Fuente sacada de: https://commons.wikimedia.org/wiki/File:Table_ascii_extended.png
BCD:
es un código estándar de 6 bits usado por ordenadores de tipo mainframe. IBM creó un código para las tarjetas perforadas de los años 1960 que se extendió entre los otros fabricantes. El código BCD (6-bit) fue la adaptación del código tarjeta perforada a código binario para poderlo cargar más fácilmente en la memoria del ordenador central. El código BCD (6-bit) es pues un código binario que representa caracteres alfanuméricos y signos de puntuación. Cada carácter está compuesto por 6 bits (2 caracteres octal), con estos 6 bits se pueden definir un total de 64 caracteres (2^6).
EBCDIC:
Es un código estándar de 8 bits usado por computadoras mainframe IBM. IBM adaptó el EBCDIC del código de tarjetas perforadas en los años 1960 y lo promulgó como una táctica customer-control cambiando el código estándar ASCII. EBCDIC es un código binario que representa caracteres alfanuméricos, controles y signos de puntuación. Cada carácter está compuesto por 8 bits = 1 byte, por eso EBCDIC define un total de 256 caracteres. Existen muchas versiones ("codepages") de EBCDIC con caracteres diferentes, respectivamente sucesiones diferentes de los mismos caracteres.
Unicode:
Es un estándar de codificación de caracteres diseñado para facilitar el tratamiento informático, transmisión y visualización de textos de múltiples lenguajes y disciplinas técnicas, además de textos clásicos de lenguas muertas. Unicode define cada carácter o símbolo mediante un nombre e identificador numérico, el code point (‘punto de código’). Además incluye otras informaciones para el uso correcto de cada carácter, como sistema de escritura, categoría, direccionalidad, mayúsculas y otros atributos. Unicode trata los caracteres alfabéticos, ideográficos y símbolos de forma equivalente, lo que significa que se pueden mezclar en un mismo texto sin utilizar de marcas o caracteres de control.
La creación de Unicode ha sido un ambicioso proyecto para reemplazar los esquemas de codificación de caracteres ya existentes, muchos de los cuales estaban muy limitados en tamaño y son incompatibles con entornos plurilingües. Unicode se ha convertido en el más extenso y completo esquema de codificación de caracteres, siendo el dominante en la internacionalización y adaptación local del software informático. El estándar ha sido aceptado en un número considerable de tecnologías recientes, como XML, Java y sistemas operativos modernos.
Pagina oficial de unicode: http://www.unicode.org/charts/
UTF-8:
es un formato de codificación de caracteres Unicode utilizando símbolos de longitud variable. Actualmente es una de las tres posibilidades de codificación reconocidas por Unicode y lenguajes web.
Sus características principales son: es capaz de representar cualquier carácter Unicode, usa símbolos de longitud variable (de 1 a 4 bytes por carácter Unicode), incluye la especificación US-ASCII de 7 bits, por lo que cualquier mensaje ASCII se representa sin cambios, incluye sincronía.
Es posible determinar el inicio de cada símbolo sin reiniciar la lectura desde el principio de la comunicación, no superposición. Los conjuntos de valores que puede tomar cada byte de un carácter multibyte, son disjuntos, por lo que no es posible confundirlos entre sí. Estas características lo hacen atractivo en la codificación de correos electrónicos y páginas web.