javascriptstringbinary

How to convert text to binary code in JavaScript?


I want JavaScript to translate text in a textarea into binary code.

For example, if a user types in "TEST" into the textarea, the value "01010100 01000101 01010011 01010100" should be returned.

I would like to avoid using a switch statement to assign each character a binary code value (e.g. case "T": return "01010100) or any other similar technique.

Here's a JSFiddle to show what I mean. Is this possible in native JavaScript?


Solution

  • What you should do is convert every char using charCodeAt function to get the Ascii Code in decimal. Then you can convert it to Binary value using toString(2):

    function convert() {
      var output = document.getElementById("ti2");
      var input = document.getElementById("ti1").value;
      output.value = "";
      for (var i = 0; i < input.length; i++) {
          output.value += input[i].charCodeAt(0).toString(2) + " ";
      }
    }
    <input id="ti1" value ="TEST"/>
    <input id="ti2"/>
    <button onClick="convert();">Convert!</button>

    And here's a fiddle: http://jsfiddle.net/fA24Y/1/