Necesitaba una tabla ASCII, y en lugar de buscar una en Internet, decidí crearla yo mismo con JavaScript.

¿Qué es la tabla ASCII?

Extracto de Wikipedia:

    ASCII (American Standard Code for Information Interchange, Código Estándar Estadounidense para el Intercambio de Información), es un código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno y en otras lenguas occidentales. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una evolución de los conjuntos de códigos utilizados entonces en telegrafía.

    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. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits, como el estándar ISO-8859-1, que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés, como el español.

    Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto como el teclado.

Entonces, los códigos ASCII son la representación numérica (decimal o hexadecimal) de cada caracter. Por ejemplo, la letra 'a' minúscula es representada en memoria (o en dispositivos de almacenamiento, telecomunicaciones, etc.) por el número 97 en base decimal (ó 61 en base hexadecimal).

Generalmente es necesario recurrir a una tabla ASCII cuando se trabaja con texto plano a bajo nivel, por ejemplo en telecomunicaciones, controladores de dispositivos, etc.

Manos a la obra

Cómo crear una tabla ASCII con JavaScript? Simple.

El siguiente código HTML se utiliza para declarar la tabla:

<center>
<table id="tabla-ascii"></table>
</center>

Luego se define el estilo de la tabla:

#tabla-ascii {
  border: 1px solid #666;
  border-collapse: collapse;
  font-family: monospace;
}

#tabla-ascii td {
  border: 1px solid #666;
  width: 50px;
}

 

Finalmente, el código JavaScript que crea la tabla ASCII:

function inicializar_tabla_ascii(id) {

  var tabla = document.getElementById(id); // obtengo la tabla
  var fila;
  var celda;
  var ch;
  var i;
  var j;
  const max = 128; // cambiar por 256 para obtener la tabla ISO-8859-1
  
  for (i=0;i<Math.floor(max/3);i++) {
    // ciclar por 'max' valores enteros e inicializar la tabla en tres columnas
    // inserto una nueva fila al final de la tabla
    fila = tabla.insertRow(i);
    
    // inserto las celdas de la nueva fila
    celda = fila.insertCell(0);
    celda.innerHTML = i.toString(); // valor decimal
    celda.style.background = "#ddf"; 
    celda = fila.insertCell(1);
    celda.innerHTML = i.toString(16); // valor hexadecimal
    celda = fila.insertCell(2);
    celda.innerHTML = "<b>"+String.fromCharCode(i)+"</b>"; // caracter
    
    // inserto la siguiente columna
    j = i + Math.floor(max/3) + 1;
    if (j < max) {
      // continuo insertando las celdas de la nueva fila
      celda = fila.insertCell(3);
      celda.innerHTML = j.toString(); // valor decimal
      celda.style.background = "#ddf";
      celda = fila.insertCell(4);
      celda.innerHTML = j.toString(16); // valor hexadecimal
      celda = fila.insertCell(5);
      celda.innerHTML = "<b>"+String.fromCharCode(j)+"</b>"; // caracter
    }

    // inserto la siguiente columna
    j += Math.floor(max/3) + 1;
    if (j < max) {
      // continuo insertando las celdas de la nueva fila
      celda = fila.insertCell(6);
      celda.innerHTML = j.toString(); // valor decimal
      celda.style.background = "#ddf";
      celda = fila.insertCell(7);
      celda.innerHTML = j.toString(16); // valor hexadecimal
      celda = fila.insertCell(8);
      celda.innerHTML = "<b>"+String.fromCharCode(j)+"</b>"; // caracter
    }
  }
  
  // inserto cabecera
  fila = tabla.insertRow(0);
  for (i=0;i<9;i=i+3) {
    celda = fila.insertCell(i);
    celda.innerHTML = "<b>Dec</b>";
    celda.style.background = "#ddf";
    celda = fila.insertCell(i+1);
    celda.innerHTML = "<b>Hex</b>";
    celda = fila.insertCell(i+2);
    celda.innerHTML = "<b>Char</b>";
  }
}

inicializar_tabla_ascii("tabla-ascii");

 

El resultado es la siguiente tabla:

Espero que les haya gustado!!!


Tal vez pueda interesarte


Compartí este artículo