MsgPack decode

by Antoine Lafarge

HTML

<script src="https://dl.dropboxusercontent.com/u/10258522/DEV/msgpack5.js"></script>
<p>
  Data
  <textarea id="data" placeholder="data" style="width:600px; height:400px;">920D25</textarea>
  <br>
  <label>
    <input type="checkbox" id="base64"> Base64</label>
  <br>
  <button onclick="decode()">Decode</button>
  <br> Click decode and watch the js console!
</p>
<p>
  Result
  <br>
  <pre id="result"></pre>
</p>

JavaScript

function decode() {
  document.querySelector("#result").innerText = "";

  var hex = document.querySelector("#data").value;
  var base64 = document.querySelector("#base64").checked;

  var bytes = [];
  if (base64) {
    bytes = atob(hex).split('').map(c => c.charCodeAt(0));
  } else {
    for (var c = 0; c < hex.length; c += 2) {
      bytes.push(parseInt(hex.substr(c, 2), 16));
    }
  }

  var result = msgpack5().decode(bytes);

  console.log("result", result);

  document.querySelector("#result").innerText = result.toString();
}