JSFiddle - React, Tailwind, and code Playground
JavaScript
function ab2str(buf) {
var u16arr = new Uint16Array(buf);
var ret = "";
for ( var i = 0 ; i < u16arr.length ; i++ )
ret += String.fromCharCode(u16arr[i]);
return ret;
}
function str2ab(str) {
var buf = new ArrayBuffer(str.length*2); // 2 bytes for each char
var bufView = new Uint16Array(buf);
for (var i=0, strLen=str.length; i<strLen; i++) {
bufView[i] = str.charCodeAt(i);
}
return buf;
}
var str = "";
for ( var i = 0 ; i < 10000 ; i++ )
str += "abcdefghijklmnopqrstuvwxyz";
var ab = str2ab(str);
console.log(ab);
var s = ab2str(ab);
console.log(s == str);