本文實例講述了JavaScript轉換二進位編碼為ASCII碼的方法。分享給大家供大家參考。具體如下:
<html> <head> <script type="text/javascript"> var input_id = "bin_text"; var answer_id = "answer"; function convertToASCII() { var bin_text = document.getElementById(input_id); var answer = document.getElementById(answer_id); if (!answer) { alert("Error: No element with id \""+answer_id+"\"."); return; } if (bin_text) var text = bin_text.value; else { error("No element with id \""+input_id+"\"."); return; } var divisible = text.length % 8; var nonBinary = /[^0|1]/.test(text); if (text.length > 0 && divisible == 0 && !nonBinary) { var regex = /[0|1]{8}/g; var str = text.match(regex); var code = 0; var placeVal, exp, digit; var ascii = ''; while (str.length > 0) { code = 0; for (var i=0; i<str[0].length; i++) { placeVal = 7-i; exp = Math.pow(2, i); digit = str[0].charAt(placeVal); code += exp*digit; } str.shift(); ascii += String.fromCharCode(code); } answer.innerHTML = "<p class=\"binary\">" + ascii + "</p>"; } else { error("Malformed binary."); return; } function error(errText) { answer.innerHTML = "<span class=\"error\">Error: " + errText + "</span>"; } } </script> <style type="text/css"> .block { width: 45%; border: 1px solid #000000; padding: 10px; } .binary { background-color: #C6FFC7; padding: 3px; } .error { background-color: #FFC6C6; padding: 3px; } </style> </head> <body> <div style="float:left;" class="block"> <form onSubmit="convertToASCII(); return false;"> <p>Enter some binary to decode:</p> <input type="text" id="bin_text"/> </form> </div> <div style="float:right;" class="block"> <p id="answer"><br/></p> </div> </body> </html>
希望本文所述對大家的javascript程式設計有所幫助。