【发布时间】:2014-02-17 05:05:25
【问题描述】:
我想做一个二进制到文本的转换器。我已经做了一个文本到二进制转换器。这是代码:
function convertText() {
var output = document.getElementById("binaryConvert");
var input = document.getElementById("textConvert").value;
output.value = "";
for (i=0; i < input.length; i++) {var e=input[i].charCodeAt(0);var s = "";
do{
var a =e%2;
e=(e-a)/2;
s=a+s;
}while(e!=0);
while(s.length<8){s="0"+s;}
output.value+=s;
}
}
但我不知道如何将二进制转换为文本。有人知道吗?此外,如果他们输入的不是二进制,那么在 textConvert 框中,它的值是“您输入的不是二进制”或类似的值。这是我所有的代码:
<!doctype html>
<html>
<head>
<title>Binary Converter</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
function convertText() {
var output = document.getElementById("binaryConvert");
var input = document.getElementById("textConvert").value;
output.value = "";
for (i=0; i < input.length; i++) {var e=input[i].charCodeAt(0);var s = "";
do{
var a =e%2;
e=(e-a)/2;
s=a+s;
}while(e!=0);
while(s.length<8){s="0"+s;}
output.value+=s;
}
}
</script>
<noscript>
Please enable JavaScript in your browsers settings to use this tool.
</noscript>
</head>
<body>
<center>
<div class="container">
<span class="main">Binary Converter</span><br>
<textarea class="textConvert" id="textConvert" onKeyUp="convertText()" placeholder="Input text to convert to Binary"></textarea>
<textarea class="binaryConvert" id="binaryConvert" placeholder="Binary text" readonly></textarea>
<div class="about">Made by <strong>Omar Latreche</strong></div>
</div>
</center>
</body>
</html>
编辑:我想通了。代码如下:
function convertBinary() {
var bintext, textresult="", binlength;
bintext = document.getElementById("text_result").value.replace(/[^01]/g, "");
binlength = bintext.length-(bintext.length%8);
for (z=0; z < binlength; z=z+8) {
textresult += String.fromCharCode(parseInt(bintext.substr(z,8),2));
}
document.getElementById("text_convert").value = textresult;
}
感谢所有回答!
【问题讨论】:
-
最好将解决方案设置为将其标记为已接受的答案,这样其他人现在问题已解决:)
标签: javascript html binary