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);得到的结果是不同的。