我创建了一个将ascii转换为十进制的函数:
function asciiToDecimal(text) {
var decimal = "";
for (var i=0; i < text.length; i++) {
decimal += text[i].charCodeAt(0).toString(10) + " ";
}
return decimal;
}
现在我想直接将二进制转换为十进制。我试图转换为ascii然后十进制,但这并不总是可行的。我已经看到了其他一些提供功能的SO Q&amp; A,但答案通常不是所需的输出(见下文)。
输入:
01101101 01111001 00100000 01101110 01100001 01101101 01100101 00100000 01101001 01110011 00100000 01101010 01101001 01101101 00111111
期望输出:
109 121 32 110 97 109 101 32 105 115 32 106 105 109 63
如何实现这一目标?
答案 0 :(得分:3)
我认为你正在寻找带有base2选项的parseInt。
parseInt(string, radix);
document.write(parseInt('01101101', 2))
通过这个,您可以获取输入字符串,将其拆分为空格,并分别解析二进制数。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt