📅  最后修改于: 2023-12-03 14:59:23.442000             🧑  作者: Mango
在 Javascript 中,将 ASCII 字符串转换为 Hex 编码字符串可以使用以下方法:
const text = "ASCII String";
let hex = "";
for (let i = 0; i < text.length; i++) {
let charCode = text.charCodeAt(i).toString(16);
hex += charCode.length < 2 ? "0" + charCode : charCode;
}
console.log(hex);
该代码循环遍历字符串中的每个字符,使用 charCodeAt()
方法获取该字符的十进制 ASCII 码值,再使用 toString(16)
方法将其转换为 16 进制字符串。如果该 16 进制字符串长度不足 2,则在前面添加一个 0
,使其长度为 2。最后,将所有字符的 16 进制字符串连接起来,得到完整的 Hex 编码字符串。
例如,将字符串 "hello"
转换为 Hex 编码字符串可以得到 "68656c6c6f"
。
这个方法还可以使用 ES6 中的 map()
和 join()
方法更简洁地实现:
const text = "ASCII String";
const hex = [...text].map(char => char.charCodeAt(0).toString(16).padStart(2, "0")).join("");
console.log(hex);
以上代码使用了数组解构、箭头函数、 padStart()
方法和 join()
方法。padStart()
方法将所有 16 进制字符串调整为长度为 2 的字符串并在左侧填充 0
。join()
方法将所有字符的 16 进制字符串连接起来,得到完整的 Hex 编码字符串。
这是两种将 ASCII 字符串转换为 Hex 编码字符串的简单方法。