charCodeAt与AscW函数的区别说明
今天需要编写一个将字符转换为ASCII的小程序,本来是用 JavaScript 的 charCodeAt 函数,后来想用VBScript 中的 AscW 函数代替,比较之后发现有所不同:
类似功能的函数:
String.charCodeAt 使用方法: var code = "A".charCodeAt(0);
类似AscW() 使用方法: dim code = AscW("A")
String.fromCharCode 使用方法: var myStr = String.fromCharCode(97);
类似ChrW() 使用方法:dim myStr = ChrW(97)
不同之处:
VBScript 里 AscW 是为使用 Unicode 字符的 32 位平台提供的。它返回 Unicode (宽型)字符代码,因此可以避免从 ANSI 到 Unicode 的代码转换。
JavaScript 里的 charCodeAt 始终以 Unicode 编码来处理字符。
一些字符的结果是不同的:
例: VBS:AscW("过") 和 JS:"过".charCodeAt(0);得到的结果是不同的。