HOME

Contatti

MATEMATICA CON JAVASCRIPT


PROPRIETA' E FUNZIONI GLOBALI: escape() - unescape()


Precedente  -  Successivo
     
F
acciamo il punto.
Argomenti correlati:


Sequenze escape

Da non confondere con la funzione escape()
Quando si lavora con le string literals a volte capita che alcuni caratteri, come ad esempio gli apostrofi, bloccano l'esecuzione di un'istruzione: questo accade perché c'è conflitto fra il carattere e le istruzioni di javascript.
Per questo motivo si usano le cosidette sequenze di escape, o di controllo, che permettono di ottenere il risultato desiderato.

Si tratta di anteporre il carattere \ al carattere incriminato oppure ad altri caratteri o codici, senza spazi.

APPROFONDIMENTO


Sequenze escape del codice Ascii esteso

Tabella dei codici dei caratteri che possono essere scritti con due cifre esadecimali. Comoda perché è possibile scriverli nella forma \xHH.

Caratteri ASCII

Tutte le informazioni immagazzinate nella memoria di un computer sono espresse sotto forma di numeri del sistema binario: ogni dato è quindi trasformato in una sequenza di 0 e 1, detti bit (binary digit, cifra binaria).
Di norma una cella di memoria comprende 8 cifre binarie ( byte ) con le quali è possibile rappresentare 28=256 caratteri distinti.
Ad ogni diversa configurazione degli 8 bit corrisponde uno ed un solo simbolo secondo lo schema del codice ASCII (American Standard Code for Information Interchange) esteso.
Tra questi ci sono ad esempio il ritorno di carrello (carriage return), le lettere dell'alfabeto, le cifre ed altri simboli che vengono detti caratteri alfanumerici, oltre che codici che corrispondono a funzioni di macchina, come l'avvisatore acustico.
Tale rappresentazione permette anche di avere un ordinamento anche fra caratteri e quindi di disporre, ad esempio, una lista di nomi in ordine alfabetico.
La rappresentazione binaria non è comunque immediatamente percepibile, e dunque normalmente del codice ASCII viene dato il corrispondente valore decimale.
Ad esempio diciamo che il carattere A, che è memorizzato nel computer come 1000001 ha codice 65.

Con HTML è possibile visualizzare un carattere scrivendone il codice ASCII, trasformato in decimale, preceduto dai simbolo &# : ad esempio, digitando &#65, otteniamo A. Perché?


Sistema binario

E' basato sull'uso di due sole cifre cioè i bit 0 e 1. E' posizionale esattamente come il sistema decimale e quindi le cifre hanno un peso dipendente dalla posizione. Tale peso è determinato dalla potenza di base 2 ed esponente uguale alla posizione occupata dal bit, come nel seguente schema:

Numero  1000001
Posizione ... 6543210
Peso ... 26252423222120

Il numero 1000001 in base due diventa

1×20 + 0×21 + 0×22 + 0×23 + 0×24 +
+ 0×25 + 1×26 = 1 + 64 = 65 in base dieci.


Sistema esadecimale

E' basato sull'uso di sedici cifre cioè
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

Anche esso è posizionale, quindi ad esempio

Numero  A2B
Posizione ... 210
Peso ... 162161160

Il numero A2B in base sedici diventa

11×160 + 2×161 + 10×162 =
= 11 + 32 + 2560 = 2603 in base dieci.


APPROFONDIMENTI
Codice ASCII: cosa è e come si costruisce
Cambiamento di base
  1. escape(stringa)
Restituisce la codifica esadecimale dell'argomento stringa per renderla trasportabile, cioè interpretabile da ogni piattaforma che supporti i caratteri ASCII.

Per fare questo devono essere codificati tutti i caratteri tranne
  • le lettere alfabetiche maiuscole: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • le lettere alfabetiche minuscole: abcdefghijklmnopqrstuvwxyz
  • le cifre da 0 a 9: 0123456789
  • i seguenti simboli: @ * - _ + . /
La codifica di tutti gli altri caratteri viene effettuata attraverso il simbolo % seguito da
  • le due cifre esadecimali (%xx) per caratteri che hanno un codice fino a 255
  • le quattro cifre esadecimali (%uxxxx) per caratteri che hanno un codice superiore a 255
seguendo la rappresentazione ASCII basata sull'insieme dei caratteri ISO-latino-1 (ad es. %20 per spazio o %3B per punto e virgola.)

Esempi di codice Risultato
s1 = 'Ciao, come stai?';
alert(escape(s1));
Ciao%2C%20come%20stai%3F
s1 = '';
alert(escape(s1));
%u221E

Per decodificare una stringa, usare la funzione unescape()

funzione unescape()    
  1. unescape(stringa)
Se stringa contiene sequenze della forma %xx oppure %uxxxx, dove xx o xxxx sono rispettivamente 2 o 4 cifre cifre esadecimali, restituisce la decodifica dell'argomento stringa, altrimenti essa resta invariata.

Esempi di codice Risultato
s1 = 'Ciao%2C%20come%20stai%3F';
alert(unescape(s1));
Ciao, come stai?
s1 = '%u221E';
alert(unescape(s1));
s1 = 'arrivederci!';
alert(unescape(s1));
arrivederci!

SEZIONE PROVA TU    
TROVA IL CODICE FORNITO DALLE FUNZIONE escape() o unescape()


Inserite un simbolo o una frase nell'area di testo a fianco e leggete la relativa codifica premendo il pulsante ESCAPE.

In alternativa inserite una stringa codificata e decodificatela premendo il pulsante UNESCAPE.

Premete il pulsante AGGIORNA per cancellare.

Alcuni caratteri, come ⊆ o ☎, non possono essere inseriti direttamente da tastiera; se volete potete trovarli nella nostra guida al linguaggio HTML,
o nella sezione
"simboli matematici o lettere greche",
oppure nella sezione
"carte, scacchi, frecce...".

Nelle due sezioni potete cliccare su un carattere e riceverne il relativo codice ASCII decimale: ad esempio il carattere ☎ ha codice decimale 9742, al quale corrisponde il codice esadecimale 260E.
Selezionando il carattere e copiandolo nell'area di testo in alto e premendo il tasto escape() potete ottenerne il codice esadecimale preceduto da % o da %u, a seconda che ci siano 2 o 4 cifre esadecimali.

 

TABELLA COMPLETA DEI CARATTERI ASCII
ESPRIMIBILI CON 2 CIFRE ESADECIMALI CON RELATIVA CODIFICA

IN EVIDENZA DAL SITO

 




CALCOLATRICE
SCIENTIFICA



CON SPIEGAZIONI
ED ESEMPI

 




TARTAMONDO - PER BAMBINI




AREA GIOCHI

 

 

 

 

 

... tanto altro ancora...

 


RIGUARDO AI CARATTERI
TI POTREBBERO INTERESSARE

Tabella del codice ASCII ESTESO

Sequenze escape

I nomi di caratteri speciali

Visualizzare una

I simboli matematici o lettere greche


 


www.tommasobientinesi.it

La passione per i viaggi e la natura nel nuovo sito di Tommaso Bientinesi


 

 


FUNZIONI GLOBALI O DI SISTEMA:  Precedente -  Introduzione -  1  -  2  -  3  -  4  -  5  -  6  -  7  -  8  -  Successivo

INDICE

©2002 - 2012 www.webfract.it