Valeur Unicode \ uXXXX à Caractère en Javascript
Je n'ai jamais fait cela avant et je ne suis pas sûr pourquoi elle est sortie de l'infâme �
d'encodage de caractères. Toutes les idées sur la façon de sortie de caractères comme elles le devraient (ASCII+Unicode)? Je pense que \u0041
-\u005A
doit imprimer A-Z
en UTF-8, Firefox est de déclaration est le codage de la page.
var c = new Array("F","E","D","C","B","A",9,8,7,6,5,4,3,2,1,0);
var n = 0;
var d = "";
var o = "";
for (var i=16;i--;){
for (var j=16;j--;){
for (var k=16;k--;){
for (var l=16;l--;){
d = c[i].toString()
+ c[j].toString()
+ c[k].toString()
+ c[l].toString();
o += ( ++n + ": "
+ d + " = "
+ String.fromCharCode("\\u" + d)
+ "\n<br />" );
if(n>=500){i=j=k=l=0;} //stop early
}
}
}
}
document.write(o);
source d'informationauteur vol7ron
Vous devez vous connecter pour publier un commentaire.
La
.fromCharCode()
fonction prend un nombre, pas une chaîne de caractères. Vous ne pouvez pas mettre ensemble une chaîne comme ça et attendre l'analyseur à faire ce que vous pensez qu'il va faire, c'est juste pas la façon dont le langage fonctionne.Vous pourriez ammend votre code pour une chaîne de caractères (sans le '\u') à partir de votre nombre hexadécimal, et d'appeler
pour obtenir de la valeur. Vous pouvez ensuite appeler
.fromCharCode()
avec que valeur.Utile extrait pour le remplacement de tous encodés en unicode des caractères spéciaux dans le texte:
À l'aide de
remplacer
fromCharCode
etparseInt
Si vous souhaitez utiliser le
\unnnn
syntaxe pour créer des personnages, vous devez le faire dans une chaîne de caractères dans le code. Si vous voulez le faire de façon dynamique, vous devez le faire dans une chaîne littérale qui est évaluée au moment de l'exécution:Bien sûr, juste à l'aide de
String.fromCharCode(i)
serait beaucoup plus facile...