| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- // ab2str = function ab2str(buf) {
 
- //   return String.fromCharCode(new Uint8Array(buf));
 
- // }
 
- bin2str = function bin2str(bufView) {
 
-   var length = bufView.length;
 
-   var result = '';
 
-   for (var i = 0; i<length; i+=65535) {
 
-     var addition = 65535;
 
-     if(i + 65535 > length) {
 
-       addition = length - i;
 
-     }
 
-     try {
 
-       // this fails on phantomjs due to old webkit bug; hence the try/catch
 
-       result += String.fromCharCode.apply(null, bufView.subarray(i,i+addition));
 
-     } catch (e) {
 
-       var dataArray = [];
 
-       for (var j = i; j < i+addition; j++) {
 
-         dataArray.push(bufView[j]);
 
-       }
 
-       result += String.fromCharCode.apply(null, dataArray);
 
-     }
 
-   }
 
-   return result;
 
- };
 
- ab2str = function ab2str(buffer) {
 
-   return bin2str(new Uint8Array(buffer));
 
- };
 
- str2ab = function str2ab(str) {
 
-   var buf = new ArrayBuffer(str.length);
 
-   var bufView = new Uint8Array(buf);
 
-   for (var i=0, strLen=str.length; i<strLen; i++) {
 
-     bufView[i] = str.charCodeAt(i);
 
-   }
 
-   return buf;
 
- };
 
 
  |