如何在JavaScript中将ASCII转换为十六进制?
首先,我不太确定ASCII是什么(我在谷歌上搜索了一下,但没法理解),总之,我正在为学习者解决一个练习,遇到了这个问题,答案是下面的代码 我发现这段代码中很少有难以理解的语句和概念,如下所示:如何在JavaScript中将ASCII转换为十六进制?,javascript,Javascript,首先,我不太确定ASCII是什么(我在谷歌上搜索了一下,但没法理解),总之,我正在为学习者解决一个练习,遇到了这个问题,答案是下面的代码 我发现这段代码中很少有难以理解的语句和概念,如下所示: for循环的两次初始化var n=0,l=str.length的目的是什么 什么是charCodeAt(n) 我知道它是unicode,但这对这个函数有什么影响,n与charCodeAt有什么关系,两者与十六进制到ASCII的转换有什么关系 为什么.toString()的值为16 在我看来,它必须使用十六
var n=0,l=str.length
的目的是什么.toString()
的值为16
在我看来,它必须使用十六进制,因此是16,但它与将十六进制转换为ASCII有什么关系函数ascii_到_hexa(str)
{
var arr1=[];
对于(var n=0,l=str.length;n变量n=0,l=str.length;n
当n
小于字符串长度时执行循环-基本上,循环字符串中的每个字符。当你到达字符串的末尾时,停止循环
n
是循环位于(1,2,3,…)的字符串中的字符,因此是要转换的字符
16是计算字符值时使用的基数。它被称为基数
l
只是存储str.length
的值。您可以为(var n=0;n,它也将是有效的
charCodeAt
您可以自己阅读,文档中有详细描述:
toString()
有一个基数参数,指定要使用的基数。这告诉它使用base 16
ascii只是一个数字值列表,表示计算机中的某些字符。例如,“A”的值为65(或十六进制中的41)。另一方面,“a”的值为97,转义字符为27,回车键为13,依此类推。如果您查找“ascii图表”,您将找到完整的表格,其中列出了哪些字符具有哪些值。
function ascii_to_hexa(str)
{
var arr1 = [];
for (var n = 0, l = str.length; n < l; n ++)
{
var hex = Number(str.charCodeAt(n)).toString(16);
arr1.push(hex);
}
return arr1.join('');
}
var n = 0, l = str.length; n < l; n ++