JS string with binary data

Proof of concept showing long JS string containing random data. String is converted from Uint8Array.

HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <title>CSDL</title>
</head>
<body>
 <div>
  <input type="button" id="btn1" value="doit!" onclick="xyzz();">
  <input type="text" size="6" id="arraysize" value="409600">
  <span id="message"></span>
 </div>
</body>
</html>

JavaScript

var myNode = null;
var textBoxArraySize = null;
function xyzz() {
 try {
  if(textBoxArraySize === null) {
   textBoxArraySize = document.getElementById("arraysize");
  }
  var arraySize = parseInt(textBoxArraySize.value, 10);
  var arr = new Uint8Array(arraySize);
  var firstNul = -1;
  var nulCount = 0;
  var i = 0;
  for(i = 0; i < arr.length; i++) {
   var b = Math.floor((Math.random()*256));
   if(b === 0) {
    if(firstNul == -1) {
     firstNul = i;
    }
    nulCount += 1;
   }
   arr[i] = b;
  }
  document.getElementById("message").innerHTML =
   "Data contains " + nulCount + " zeros, first zero at index " + firstNul;
  if(myNode) {
   document.lastChild.removeChild(myNode);
  }
  myNode = document.lastChild.appendChild(document.createTextNode(
   String.fromCharCode.apply(null, arr)));
 }
 catch(e) {
  alert(e.message);
 }
}