【发布时间】:2009-08-06 17:46:38
【问题描述】:
我在 JavaScript 中有一个包含二进制数据的字符串。例如,现在我想从中读取一个整数。所以我得到了前 4 个字符,使用charCodeAt,做一些移位等得到一个整数。
问题在于 JavaScript 中的字符串是 UTF-16(而不是 ASCII),charCodeAt 经常返回高于 256 的值。
Mozilla reference 声明“前 128 个 Unicode 代码点是 ASCII 字符编码的直接匹配”。 (ASCII 值 > 128 呢?)。
如何将charCodeAt 的结果转换为ASCII 值?或者有没有更好的方法将四个字符的字符串转换为 4 字节整数?
【问题讨论】:
-
你能举个例子吗?
-
ASCII 的 NO 值 > 128(实际上,它没有值 > 127:它只定义了 0 到 127 之间的代码)。所以询问“ASCII 值 > 128”是没有意义的;你一定是指其他一些字符编码(ISO-8859-x 代表 x 的某个值,也许?)
-
有扩展的ASCII码(从128到255)asciitable.com
-
"扩展 ASCII" 不是真的。 “asciitable.com”实际上是在向您展示 ISO-8859-1,它与 JavaScript 如何存储 Unicode 字符串几乎没有关系。
标签: javascript