2 votes

Pourquoi les différents navigateurs génèrent-ils des chaînes de caractères différentes ?

Je construis une chaîne en concaténant les 100 premiers caractères unicode, comme ceci

var str = "";
for (var i = 0; i < 100; i++) {
    str += String.fromCharCode(i);
}

Dans Firefox et Chrome, str a la valeur que j'attendais, à savoir

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abc

Internet Explorer et Opera, en revanche, renvoient la chaîne vide.

Vous pouvez le tester dans votre navigateur sur jsFiddle.

Quelle est la cause de cette différence de comportement ?

6voto

larsmans Points 167484

Le premier point de code Unicode représente le caractère NUL, qui fait probablement croire à certains navigateurs qu'ils ont atteint la fin de la chaîne (selon la convention C).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X