charCodeAt() && Unicode && UTF-8

1、JavaScript String charCodeAt() Method

charCodeAt()方法返回一个字符串中指定下标字符的Unicode。第一个字符的下标为0,第二个字符下标为1,依此类推。

注意:可以使用charCodeAt()方法与字符串的length属性返回字符串中的最后一个字符。最后一个字符-1,倒数第二个字符-2,依此类推。

语法:

string.charCodeAt(index)

index:必填,一个数字,代表想返回Unicode字符的下标。

返回值:数字,代表指定下标字符的Unicode。如果下标小于0或下标不存在,返回NaN。

2、HTML Unicode (UTF-8)

(1)the Unicode Consortium

The Unicode Consortium开发Unicode标准,他们的目标是使用他们的标准Unicode转换模型(Standard Unicode Transformation Format,UTF)代替现存字符集。

Unicode标准很成功,应用于HTML、XML、Java、JavaScript、E-mail、ASP、PHP等中,许多操作系统和所有的现代浏览器均支持Unicode标准。

(2)Unicode字符集

Unicode可被应用于不同的字符集,目前广泛应用的编码方式是UTF-8和UTF-16

字符集UTF-8:UTF-8中字符长度从1字节到4字节。UTF-8可以代表Unicode标准中的任何一个字符,并且它向后兼容ASCII,被用于e-mail和网站编码。

字符集UTF-16:16-bit Unicode转换形式是一个对Unicode的可变长度字符编码,可以对全部Unicode库中的字符进行编码。UTF-16用于操作系统等,比如:微软的Windows操作系统,Java和.NET。

注意:Unicode中的前128个字符与ASCII码中的字符一一对应,它们使用八位字节表示,与ASCII码具有相同的二进制值。

(3)HTML5标准:Unicode UTF-8

由于ISO-8859字符集字符数量有限,并且在多语种情况下不兼容,Unicode Consortium推出了Unicode标准。Unicode标准涵盖了世界上所有字符、标点和符号。Unicode运行、存储、和转换text文档独立于平台和语言。

HTML-5中的默认字符集为UTF-8,如果HTML5网页需要使用不同的字符集,需要使用meta charset做出说明。

(4)Unicode与UTF-8区别

Unicode是一个字符集,UTF-8是一种编码方式。Unicode是一个用唯一十进制数(code points)表示的字符集,比如:A=65,B=66,C=67.

十进制数的集合代表一个字符串”hello”:104 101 108 108 111

编码方式是这些数字如何转换成二进制代码存储到计算机中。

UTF-8编码,将“hello”存储为:01101000 01100101 1101100 01101100 01101111

即:编码方式将数字转换为二进制,字符集将字符转换为数字。

3、JavaScript String length Property返回字符串的长度,即字符的个数,中文字也是一个字符。

推荐阅读更多精彩内容