common.js 1004 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // ab2str = function ab2str(buf) {
  2. // return String.fromCharCode(new Uint8Array(buf));
  3. // }
  4. bin2str = function bin2str(bufView) {
  5. var length = bufView.length;
  6. var result = '';
  7. for (var i = 0; i<length; i+=65535) {
  8. var addition = 65535;
  9. if(i + 65535 > length) {
  10. addition = length - i;
  11. }
  12. try {
  13. // this fails on phantomjs due to old webkit bug; hence the try/catch
  14. result += String.fromCharCode.apply(null, bufView.subarray(i,i+addition));
  15. } catch (e) {
  16. var dataArray = [];
  17. for (var j = i; j < i+addition; j++) {
  18. dataArray.push(bufView[j]);
  19. }
  20. result += String.fromCharCode.apply(null, dataArray);
  21. }
  22. }
  23. return result;
  24. };
  25. ab2str = function ab2str(buffer) {
  26. return bin2str(new Uint8Array(buffer));
  27. };
  28. str2ab = function str2ab(str) {
  29. var buf = new ArrayBuffer(str.length);
  30. var bufView = new Uint8Array(buf);
  31. for (var i=0, strLen=str.length; i<strLen; i++) {
  32. bufView[i] = str.charCodeAt(i);
  33. }
  34. return buf;
  35. };