如何使用JavaScript将字符转换为ASCII码?
例如:
从“\n”中得到10。
如何使用JavaScript将字符转换为ASCII码?
例如:
从“\n”中得到10。
当前回答
将字符串转换为UTF-8的数组(流):
const str_to_arr_of_UTF8 = new TextEncoder().encode("Adfgdfs");
// [65, 100, 102, 103, 100, 102, 115]
注意:ASCII是UTF-8的一个子集,所以这是一个通用的解决方案
其他回答
"\n".charCodeAt(0);
也许这也很有用(ascii字符按ascii表中的顺序排列):
let ascii_chars = "";
for (let i = 32; i <= 126; ++i) {
ascii_chars += String.fromCharCode(i);
}
document.write(ascii_chars);
charCodeAt(0);
以上代码在大多数情况下都可以工作,但是在使用单词查找基于上述代码的排名时存在一个问题。例如,aa会给出97+97 = 194(实际会是1+1 = 2),而w会给出119(实际会是23),这使得aa > w。 要解决这个问题,从上面的结果减去96,从1开始定位。
字符代码(0) - 96;
如果你只有一个字符而不是字符串,你可以使用:
'\n'.charCodeAt();
'\n'.codePointAt();
省略0…
它曾经比'n'. charcodeat(0)慢得多,但我现在已经测试过了,我再也看不到任何区别了(带0和不带0执行了100亿次)。仅在Chrome和Firefox中测试了性能。
为了支持来自ES6的所有UTF-16(也非bmp /补充字符),string.codePointAt()方法可用;
此方法是charCodeAt的改进版本,它只支持< 65536(216 -单个16位)的unicode码点。