Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Фигня с ArrayBuffer (https://javascript.ru/forum/misc/22137-fignya-s-arraybuffer.html)

Solovei95 07.10.2011 15:24

Фигня с ArrayBuffer
 
var Stream = function(buffer){
  this.off = 0;
  this.bin = buffer;
}

Stream.prototype.read = function(h,offset,length){
  var x = new Uint8Array(this.bin,this.off,length);
  h.set(x.buffer,offset);
  this.off += length;
}

Stream.prototype.seek = function(h,length){
  this.off += length;
}

Stream.prototype.feof = function(){
  return (this.off >= this.bin.byteLength);
}


Когда делаю:
...
buf = new Uint32Array(1);
st.read(buf,0,4);
...
Сталкиваюсь с проблемой №1: typedarray.set не поддерживает arrayBuffer. А это единственный способ правильно прочитать 4 байта.
Помогите как раз с arrayBuffer.

Solovei95 07.10.2011 15:40

И вообще ОГРОМНЕЙШАЯ проблема с определением типа массива:
Вот мне дано: h (как uint32array). h может быть и другим типом! Как определить тип массива h?

Sweet 07.10.2011 16:18

Цитата:

Сообщение от Solovei95
Как определить тип массива h?

Так как это встроенный тип, то можно проверить так:
Object.prototype.toString.call( uint32array ) == "[object Uint32Array]"

Solovei95 07.10.2011 16:50

Как переименовать Uint8Array в UnsignedChar ?


Часовой пояс GMT +3, время: 20:10.