如何使用JavaScript将字符转换为ASCII码?
例如:
从“\n”中得到10。
如何使用JavaScript将字符转换为ASCII码?
例如:
从“\n”中得到10。
当前回答
对于那些想要获得字符串的所有ASCII码的和的人:
'Foobar'
.split('')
.map(char => char.charCodeAt(0))
.reduce((current, previous) => previous + current)
或者,ES6:
[...'Foobar']
.map(char => char.charCodeAt(0))
.reduce((current, previous) => previous + current)
其他回答
将字符串转换为UTF-8的数组(流):
const str_to_arr_of_UTF8 = new TextEncoder().encode("Adfgdfs");
// [65, 100, 102, 103, 100, 102, 115]
注意:ASCII是UTF-8的一个子集,所以这是一个通用的解决方案
如果你只有一个字符而不是字符串,你可以使用:
'\n'.charCodeAt();
'\n'.codePointAt();
省略0…
它曾经比'n'. charcodeat(0)慢得多,但我现在已经测试过了,我再也看不到任何区别了(带0和不带0执行了100亿次)。仅在Chrome和Firefox中测试了性能。
"\n".charCodeAt(0);
JavaScript将字符串存储为UTF-16(双字节),所以如果你想忽略第二个字节,只需在0000000011111111(即255)上按位&操作符将其剥离:
'a'.charCodeAt(0) & 255 === 97; // because 'a' = 97 0
'b'.charCodeAt(0) & 255 === 98; // because 'b' = 98 0
'✓'.charCodeAt(0) & 255 === 19; // because '✓' = 19 39
截至2023年
从字符到ASCII码
使用方法charCodeAt
控制台日志(“\ n "。charCodeAt ()
从ASCII码到字符
使用fromCharCode方法
console.log(String.fromCharCode(10))