String.charCodeAt最大长度

时间:2013-03-21 17:01:32

标签: javascript character-encoding base36 fromcharcode

拿这段代码:

var charCode = unkownVariable.charCodeAt(0);

charCode的最大长度是多少?我的所有测试都是2个字符(2位数)。会不会更长?

3 个答案:

答案 0 :(得分:2)

来自specification

  

返回一个Number(一个小于2 16 的非负整数),表示将此对象转换为String所产生的String中位置pos处字符的代码单元值。如果该位置没有字符,则结果为NaN

所以,2 16 - 1是最大值,即65535

答案 1 :(得分:1)

简答:是的。

var unkownVariable = 'test';
var charCode = unkownVariable.charCodeAt(0);
console.log(charCode); // 116

有16位用于显示字符(需要考虑不同的语言和字符集),因此理论上响应可以在0到65536之间(2 ^ 16)。

答案 2 :(得分:1)

MDN说

  

请注意,charCodeAt将始终返回小于的值   65536

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/charCodeAt