如何在 JavaScript 中将 ASCII 转换为十六进制
how to convert ASCII to Hexadecimal in JavaScript?
首先,我不太确定ASCII是什么(我已经用谷歌搜索过它,但没有运气理解),无论如何,我正在为学习者解决一个练习并遇到了这个问题,答案是以下代码。
我发现这段代码中有一些难以理解的语句和概念
,如下所示:为 For 循环
var n = 0, l = str.length
2 次初始化的目的是什么?什么是
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 ++
在n
小于字符串长度时执行循环 - 基本上,遍历字符串中的每个字符。当你到达字符串的末尾时,停止循环。
n
是字符串中的字符,其中循环位于 (1, 2, 3, ...),因此是要转换的字符。
16 是计算字符值时使用的数字基数。它被称为基数。https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString
-
For 循环的 2 个初始化(var n = 0, l = str.length)的目的是什么?
变量
l
只是存储str.length
的值。你可以写for (var n = 0; n < str.length; n ++)
,它也是有效的。 -
什么是charCodeAt(n),我了解到它是Unicode,但是这对这个函数有什么影响,n与charCodeAt有什么关系,以及两者都与十六进制到ASCII对话有什么关系?
charCodeAt
您可以自己阅读,文档中对此进行了很好的描述:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt -
为什么 .toString() 分配了 16 的值,在我看来,它必须与 hexa 因此 16 有关,但它与将十六进制转换为 ASCII 有什么关系?
toString()
有一个基数参数,指定要使用的基数。这告诉它使用基数 16。
- 正在将unicode转换为十六进制
- 在js中将字符串转换为十六进制
- 将html代码转换为十六进制
- 将十六进制字符串转换为字节数组
- 将Hsl转换为rgb和十六进制
- 无需Javascript内置函数即可将十进制转换为十六进制
- 将hsv转换为十六进制的Javascript函数
- 如何在 JavaScript 中将 ASCII 转换为十六进制
- 将浮点数转换为 RGB 或十六进制
- 将带有转义字符和 ASCII 值的字符串转换为十六进制
- 转换颜色十六进制值以用于三个 JSON 文件.js
- 如何将负十进制转换为十六进制
- 递归“超出最大调用堆栈大小” - 十进制到十六进制转换器
- 如何在 JavaScript 中将字符串中不确定的 rgb 出现次数转换为十六进制
- 将数字转换为十六进制值,但使它们成为两位数
- 在 JavaScript 中将原始图像的十六进制字符串转换为位图图像
- 十六进制到 ascii 错误转换
- 将包含 ASCII 中二进制十六进制的字符串转换为缓冲区
- Javascript自动转换十六进制值
- 一次转换十六进制字符串2个字符