如何将ASCII转换为十六进制的JavaScript?
首先,我不太确定ASCII是什么(我已经使用了它,但没有理解的运气),无论如何,我正在为学习者解决一个练习,并遇到了这个问题,答案是下面的代码。如何将ASCII转换为十六进制的JavaScript?
,我发现很难几条语句和概念在这个代码理解如下:
什么是2个初始化
var n = 0, l = str.length
For循环的目的是什么?-
是什么
charCodeAt(n)
我了解到这是unicode的,但是这什么呢这个功能,以及如何为n有关charCodeAt以及如何既涉及到十六进制ASCII转换?
-
为什么
.toString()
的值为16。在我看来,它必须与十六进制因此16,但它是如何与十六进制转换为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 ++
做循环while n
小于字符串长度。当你到达字符串的末尾时,停止循环。
n
是字符串中字符所在的字符,其中的循环位于(1,2,3,...),因此是要转换的字符。
16是计算字符值时使用的数字基数。它被称为基数。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString
-
什么是2个inizialtions(VAR n = 0时,L = str.length),用于For循环的目的是什么?
变量
l
只是存储值str.length
。您可以改为写for (var n = 0; n < str.length; n ++)
,它也是有效的。 -
什么是charCodeAt(n),我知道它是unicode,但是这对这个函数有什么作用,它和charCodeAt有什么关系,以及它们如何与十六进制转换为ASCII转换?
charCodeAt
你可以阅读自己,这是很在文档中描述的:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt -
为什么的ToString()分配了16的价值,在我看来,像它与六因而16 ,但它与将十六进制转换为ASCII有什么关系?
toString()
有一个radix参数,指定要使用的基数。这告诉它使用基数16.
ascii只是一个数字值的列表,指向您的计算机中的某些字符。例如,“A”的值为65(或十六进制为41)。另一方面,“a”的值为97,转义字符为27,回车键为13,等等。如果你查看“ascii chart”,你会发现哪些字符有什么值的完整表格。 –