De lo único que entiende un ordenador es de 0 y 1. Cuando se asigna una cadena de texto a
una variable, ésta internamente, se guarda como una serie de números que identifican a los
diferentes caracteres constituyentes de la misma. Esta codificación se llama ASCII.
El código ASCII asigna a cada carácter un número de 0 a 255, es decir 256 caracteres en total.
1 carácter = 8 bits = 1 byte = 8 ceros y unos.
0 y 1 en grupos de ocho: 28 = 256
El código ASCII se ha quedado pequeño: 256 caracteres es insuficiente para representar los
símbolos propios de muchos países.
La ISO (organización internacional para la normalización), propuso el código UNICODE:
1 carácter = 2 bytes = 16 ceros y unos
0 y 1 en grupos de 16: 216 = 65.536 caracteres distintos.
La mayor parte de los sistemas operativos modernos (por ejemplo el Windows), guardan
internamente la representación de sus caracteres como valores Unicode no Ascii
Función fromCharCode: accedemos a los caracteres Unicode
var x = String.fromCharCode(75, 81,52);
alert x;
Aparecen los caracteres correspondientes a la codificación “unicode” de los números 75, 81 y
52.
Función charCodeAt, es la función inversa de la anterior, es decir a partir de una cadena
devuelve el código correspondiente a la letra que se encuentre en la posición especificada:
var x = “JavaScript”
alert(x.charCodeAt(5));
Devolverá un 99, que corresponde a la “c”.
Las cadenas igual que las matrices comienzan a numerarse en el cero.
Código del primer alert Script.
Código del segundo alert Script.
Código del tercer alert Script.
Búsqueda de un carácter determinado.
El método charAt de String devuelve una cadena conteniendo el carácter situado en la
posición especificada:
“cadena”.charAt(4) = letra situada en el lugar 5
Ejemplo: función que determina la existencia del carácter @:
Function Busca(texto)
{
for(i=0;i
{
if(texto.charAt(i)==”@”) return true;
}
return false
}
Si utilizamos la función anterior para determinar una dirección e-mail, no sería correcto ya que
el símbolo @ al principio o final de la cadena, no correspondería a una dirección de correo
electrónico; para este caso deberíamos modificar la función:
Function BuscaEmail(texto)
{
for(i=0;i
{
if(texto.charAt(i)==”@” && i ¡= (texto.length-1) && (i ¡= 0))
return true;
}
return false
}
alert(BuscaEmail(“aldo@eso.ar”));