在JavaScript中将字符转换为ASCII

Converting Characters to ASCII in JavaScript

本文关键字:转换 ASCII 字符 JavaScript      更新时间:2023-09-26

我首先接受字符串输入并将其更改为拆分数组,但随后我需要更改要评估的ASCII拆分数组。我怎么做呢?

从技术上讲,字符串输入已经是一个字符数组。

您可以执行以下操作

asciiKeys = [];
for (var i = 0; i < string.length; i ++)
  asciiKeys.push(string[i].charCodeAt(0));

像这样?

var str= document.URL;
var ascii= str.split('').map(function(itm){
    return itm.charCodeAt(0);
});
var str2=ascii.map(function(itm, i){
    return '#'+i+'=0x'+itm.toString(16)+' ('+String.fromCharCode(itm)+')';
}).join(''n');

alert('original string='+ str+''nascii codes:'n'+str2);
/*  returned value:
original string=http://localhost/webworks/ghost.html
ascii codes:
#0=0x68 (h)
#1=0x74 (t)
#2=0x74 (t)
#3=0x70 (p)
#4=0x3a (:)
#5=0x2f (/)
#6=0x2f (/)
#7=0x6c (l)
#8=0x6f (o)
#9=0x63 (c)
#10=0x61 (a)
#11=0x6c (l)
#12=0x68 (h)
#13=0x6f (o)
#14=0x73 (s)
#15=0x74 (t)
#16=0x2f (/)
#17=0x77 (w)
#18=0x65 (e)
#19=0x62 (b)
#20=0x77 (w)
#21=0x6f (o)
#22=0x72 (r)
#23=0x6b (k)
#24=0x73 (s)
#25=0x2f (/)
#26=0x67 (g)
#27=0x68 (h)
#28=0x6f (o)
#29=0x73 (s)
#30=0x74 (t)
#31=0x2e (.)
#32=0x68 (h)
#33=0x74 (t)
#34=0x6d (m)
#35=0x6c (l)
*/

let str = 'MyString';
let charCodes = [...str].map(char => char.charCodeAt(0));
console.log(charCodes);
// [77, 121, 83, 116, 114, 105, 110, 103]

这将初始化一个大小与字符串长度匹配的数组,并将每个字符映射到相应的代码:

let str = 'ABCD1234560';
let arr = Array(str.length).fill().map((_, i) => str.charCodeAt(i));
console.log(arr);

这样做的好处是可以取字符串的一部分。例如,只有前4个字符:

let str = 'ABCD1234560';
let arr = Array(4).fill().map((_, i) => str.charCodeAt(i));
console.log(arr);

或者直接遍历字符串:

let str = 'ABCD1234560';
let arr = [];
for (let i = 0; i < str.length; i++)
  arr.push(str.charCodeAt(i));
 
console.log(arr);