您的位置:

16进制转string详解

一、16进制转string在线

现在,我们可以在网上找到很多免费的16进制转字符串的在线工具。只需将16进制代码复制并粘贴到文本框中,单击“转换”按钮即可得到结果。 这些在线工具的好处是速度非常快,并且在大多数情况下,工作非常可靠。让我们看一下下面的代码,使用以上效果:

function hex_to_ascii(str1)  
 {  
  var hex  = str1.toString();  
  var str = '';  
  for (var n = 0; n < hex.length; n += 2) {  
       str += String.fromCharCode(parseInt(hex.substr(n, 2), 16));  
   }  
   return str;  
 }  

console.log(hex_to_ascii('313233'));  // 输出123

二、16进制转10进制计算公式

我们都知道,每个16进制数字都有出现在所述位置的权值。其中'F'的权值最大,最小的是'0'。因此,可以通过使用以下公式将16进制数字转换为其等效的10进制数:

Hex Value = F * 16 ^ 15 + F * 16 ^ 14 + E * 16 ^ 13 + ..... + 0 * 16 ^ 0

三、16进制转String

有两种方法可以将16进制数字转换为字符串。其中一种方法是使用标准JavaScript函数String.fromCharCode。这个函数接受一个数字,返回其ASCII等效项。因此,我们可以将16进制数字的十进制值传递给该函数来转换为字符串。以下是相应的代码:

var hex = '4f';
console.log(String.fromCharCode(parseInt(hex, 16))); // 输出O

另一种方法是使用JavaScript编码方式,如下所示:

var hex = "4f";
var str = "";
for (var i = 0; i < hex.length; i += 2)
    str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
console.log(str); // 输出O

四、16进制转换器

我们可以使用现成的16进制转换器来快速执行16进制到其他进制的转换,如二进制,八进制或十进制。这些转换器将自动执行转换并显示结果。以下是一个典型的16进制转换器的示例:

function hexToDec(hexString) {
    return parseInt(hexString, 16);
}

function hexToBin(hexString) {
    var dec = hexToDec(hexString);
    return dec.toString(2);
}

function hexToOct(hexString) {
    var dec = hexToDec(hexString);
    return dec.toString(8);
}

console.log(hexToDec("7F"));  // 输出127
console.log(hexToBin("7F"));  // 输出1111111
console.log(hexToOct("7F"));  // 输出177

五、16进制转二进制表

我们可以使用以下代码将16进制转换为二进制表:

function hexToBinTable(hex) {
    var bin = parseInt(hex, 16).toString(2),
        pad = bin.length % 4;
    if (pad > 0) {
        bin = "0".repeat(4 - pad) + bin;
    }
    return bin.match(/.{4}/g).join(" ");
}

console.log(hexToBinTable("1F"));  // 输出0001 1111

六、16进制转10进制的公式

有一个简单的公式可以将16进制数转换为10进制数。该公式为:

10进制值= dcba (16 ^ 0) + ihgf(16 ^ 1)+ [nmlk(16 ^ 2)+……]

在此公式中,d,c,b,a是16进制数的最低位,g,f,e,d是中间位,k,j,m,n是最高位。以下是将16进制数转换为10进制的完整代码:

function hexToDec(hex) {
    return parseInt(hex, 16);
}

console.log(hexToDec("7F"));  // 输出127

七、16进制转2进制

要将16进制数转换为二进制数,请将16进制数转换为10进制数,然后将10进制数转换为二进制数。以下是将16进制数转换为二进制数的代码(使用上面定义的hexToDec函数):

function hexToBin(hex) {
    var dec = hexToDec(hex);
    return dec.toString(2);
}

console.log(hexToBin("7F"));  // 输出111111

八、16进制转2进制计算器

使用下面的代码来将16进制转换为二进制的计算器:

var h2b = {
    "0":"0000", "1":"0001", "2":"0010", "3":"0011",
    "4":"0100", "5":"0101", "6":"0110", "7":"0111",
    "8":"1000", "9":"1001", "A":"1010", "B":"1011",
    "C":"1100", "D":"1101", "E":"1110", "F":"1111"
};

function hexToBinCalculator(hex) {
    var bin = "";
    for (var i = 0; i < hex.length; i++) {
        bin += h2b[hex.charAt(i)];
    }
    return bin;
}

console.log(hexToBinCalculator("7F"));  // 输出111111

结语

这里我们详细介绍了16进制转换为string的各种方法。无论您正在处理什么类型的项目,这些技术都非常有用,因此务必记下这些技巧。