Newsgroup: it.comp.lang.javascript
Titolo: Significato del codice ritornato dal metodo charCodeAt(n)

Salve a tutti,
vorrei sapere se c'è una relazione fra il risultato ritornato dal metodo 
charCodeAt dell'oggetto stringa e il codice da digitare usando 
ALT+numero, ad esempio:
s='∞';
alert(s.charCodeAt(0));
mi ritorna 8734.
se però io digito ALT+8734 nella barra del browser ottengo questo 
scarabocchio:
▲
Da qui:
http://usefulshortcuts.com/alt-codes/maths-alt-codes.php
mi dice che per ottenere l'infinito dovrei usare ALT+236 e però a me non 
funziona, a me ritorna ý :-?
Sandro
-- 
*gialloporpora: Come trasformare l'icona dello spam di #thunderbird in 
un bel cesso: 
http://bit.ly/ep2mPh
 * - 
http://bit.ly/i260ty
* FAQ* di /it-alt.comp.software.mozilla/: 
http://bit.ly/BKSpn

 ▲
Javascript usa il charset utf-8.
ALT-qualcosa usa (credo) l'iso-8859-1, o il win-1252, o il DOS 850. Forse 
dipende anche da dove lo stai scrivendo.
Non c'e` nessuna relazione tra i vari charset, tranne una parte dei primi 
127 caratteri (lo standard ASCII).
Bye.

 scarabocchio:
Presumo che il problema consista nel fatto che charCodeAt lavora in 
unicode mentre tu stai lavorando su windows che usa il suo orrendo charset.

 dipende anche da dove lo stai scrivendo.
Immaginavo fosse qualcosa del genere :-(
Il fatto è che io volevo farmi un bookmarklet per salvarmi i codici dei 
caratteri e poi digitarli quando ne avevo bisogno.
Quindi mi sa che con Javascript non si riesca proprio a convertire quei 
caratteri  nella codifica usata da Windows.
In Python c'è una robna  libreria per passare da una codifica all'altra 
speravo  ci fosse anche in Javascript.
Ti ringrazio molto di aver risposto :-)
Ciao


Risposta al messaggio di Pablo :

Grazie mille per la risposta.
Speravo ci fosse una funzione come in python per passare da una codifica 
all'altra, comunque fa nulla, grazie lo stesso.



wrote:


 all'altra, comunque fa nulla, grazie lo stesso.
Il fatto è che qui hai uno "strato" di specifica/dichiarazione del 
charset in più.
Oltre ai link postati da Oreste prova a leggere questo:
http://www.capitolacomputing.com/intl_js_charset.htm
IMO è molto chiaro e puntuale, dovrebbe fornirti tutte le informazioni 
utili ai tuoi fini.

Grazie per i link, anche ad Oreste, ora vado a leggermeli.
Nel frattempo mi è venuto un altro dubbio, provo a disturbarvi 
nuovamente per una cosa che a me sembra molto strana.
Alla fine avevo optato per fare un bookmarklet che mi ricordi alcuni 
caratteri speciali, però mi trovo di fronte a un problema.
Allora,  il codice funziona così:
ho un oggetto javascript che ha come chiavi i nomi delle entities html 
associate ai caratteri, io voglio che quando scrivo \chiave in una 
textarea il bookmarklet mi sostituisca il \chiave con il giusto carattere.
Questa è la parte di codice che dovrebbe fare questa operazione:
-------------------------------------------------------------------------------------------
function repl(str,p){
	alert(String.fromCharCode(json[p]));
return String.fromCharCode(json[p]) ? json[p] : p;
}
s=t.value;
s=s.replace(/\\(\w+)/g, repl);
t.value=s;
}
-------------------------------------------------------------------------------------------
il problema è che invece di mettermi il carattere mi metteil codice 
numerico, sinceramente non riesco a capire il motivo (ho messo anche 
l'alert e il carattere è giusto, è nel replace che avviene la 
sostituzione).
Probabilmente è qualcosa di banale, però a me sembra tutto corretto.
Il codice lo ho messo anche qui:
http://www.gialloporpora.netsons.org/specialchars/specialchars.html
anche se a me interessa funzioni come bookmarklet (per far applicare le 
modifiche si deve selezionare il testo nella textarea).
Se qualcuno può aiutarmi gliene sarei molto grato :-)
Sandro
Anche se probabilmente, dopo aver letto i link, questa cosa non mi 
servirà più, rimango curioso di capire perché il replace converte di suo 
un carattere nel codice numerico :-?
Ciao e grazie
Sandro


Risposta al messaggio di Oreste :

Ti ringrazio per la risposta, ma non � quello che serve a me, mi ero 
dimenticato di dire che io voglio creare un bookmarklet per 
l'inserimento di quei caratteri, non una vera pagina web.
Ciao
Sandro


 return String.fromCharCode(json[p]) ? json[p] : p;
Ok, scusate sono un idiota, ho sbagliato l'ordine.
Risolto :-)
Ciao
