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);
}
}