JavaScript字符(ASCII)转十六进制

25

大家好,我需要一个简单的方法将字符转换成 ASCII 码,并将其转换为十六进制代码。

例如,“A”字符的 ASCII 码为:

0xF100 + ascii_code = Hex

那将会变成:

0xF100 + 65 = 0xF141

65将是字符"A"。我一直在寻找一些JavaScript,可以将我的字符转换为十六进制...但我真的没有找到什么能做到这一点的东西...

任何帮助都将是巨大的帮助!


你为什么要这样做?0xF141是一个专用代码点,不应在公共信息交换中使用,而只能通过私人协议使用。无论原始问题是什么,可能有更合理的解决方法。 - Jukka K. Korpela
1个回答

51

Number的toString方法接受一个基数参数,使用该参数可以将ASCII码转换为十六进制,如下所示:

var data = "A";
console.log("0xF1" + data.charCodeAt(0).toString(16));

16表示基数为16,也就是十六进制。


2
(16)是做什么用的? - StealthRT
3
@StealthRT中的“16”表示基数为16,也就是十六进制。 - thefourtheye
1
你也可以使用 .toString(36),它是基于36位的,包括超过9的字母。我认为 .toString(2) 是转换成二进制的意思。 - etoxin
.toString(10) 是十进制。 - swade
4
提醒一下,如果您的字符串包含任何字符代码小于16的字符,需要额外的步骤来补零。以下是如何执行此操作的示例:var c = a.charCodeAt(i); var d = "00" + c.toString(16); var e = d.substr(d.length-2); - John Allsup

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接