Hola:
Se me ocurrió que para poder reconocer las letras, podría poner un carácter distinto de 0/1 como delimitador, de esa forma se reconocerían los caracteres, también sería innecesario completar los 8 bits (aunque en el ejemplo adjunto se contemple) y sobre todo, se podría usar tecnología inversa...
Código:
<html>
<head>
<title>
binario
</title>
<script type="text/javascript">
String.prototype.toChar = function() {
// La cadena es del tipo generado por toBin()...
// cada carácter se separa por "-"
function Decimal(bin) {
b = bin.split("").reverse();
contador = 0;
for (var i = 0, total = b.length; i < total; i ++)
contador += Math.pow(2, i) * parseInt(b[i]);
return contador;
}
palabra = "";
c = this.split("-");
for (var i = 0, total = c.length; i < total; i ++)
palabra += String.fromCharCode(Decimal(c[i]));
return palabra;
}
String.prototype.toBin = function() {
function binario(x) {
ch = "";
while (x > 0) {ch = (x % 2) + ch; x = parseInt(x / 2)};
while (ch.length < 8) ch = "0" + ch;
return ch;
}
cadena = new Array();
for (i = 0, total = this.length; i < total; i ++)
cadena[cadena.length] = binario(this.charCodeAt(i), 7);
return cadena.join("-");
}
</script>
<body onload="alert('€ hola'.toBin().toChar() + ' = ' + '€ hola'.toBin())">
</body>
</html>
Hace algunos años, hice una página donde se generaban todas las letras con un script:
Generador de Fórmulas Matemáticas y Lenguaje HTML, pinchando sobre letras se abre un popup con todas las letras, y pinchando sobre estas se devuelve la codificación html correspondiente... también se muestra el código al posarse con el ratón (por el atributo title)
Saludos