1 Star 0 Fork 13

追梦者/梦幻西游was

forked from 代码库/梦幻西游was 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
RandomAcessInputStream.js 1.70 KB
一键复制 编辑 原始数据 按行查看 历史
Eruca520 提交于 2019-01-22 17:13 . no commit message
"use strict"
class RandomAcessInputStream {
constructor(data,buf){
super.constructor
this.data=new Uint8Array(data);
this.pos=0;
this.buf=buf;
this.count=data.byteLength
}
read(){
let nextVal= (this.pos < this.count) ? (this.data[this.pos++] & 0xff) : -1;
return nextVal;
}
readInt(){
let ch1 = this.read();
let ch2 = this.read();
let ch3 = this.read();
let ch4 = this.read();
return (ch1 + (ch2 << 8) + (ch3 << 16) + (ch4 << 24));
}
readUnsignedShort(){
let ch1 = this.read();
let ch2 = this.read();
return ((ch2 << 8) + ch1);
}
seek(pos){
this.pos=pos;
}
slice(start,end){
return this.data.slice(start,end);
}
}
/*
function RandomAcessInputStream(data,buf){
this.data=data;
this.pos=0;
this.buf=buf;
}
RandomAcessInputStream.prototype = {
constructor: RandomAcessInputStream, //每个函数都有prototype属性,指向该函数原型对象,原型对象都有constructor属性,这是一个指向prototype属性所在函数的指针
read: function(){
this.pos=this.pos+this.buf;
let nextVal=this.data.slice(this.pos-this.buf,this.pos);
return nextVal;
},
slice:function(start,end){
return this.data.slice(start,end);
},
readInt:function(){
let ch1 = this.read();
let ch2 = this.read();
let ch3 = this.read();
let ch4 = this.read();
return (ch1 + (ch2 << 8) + (ch3 << 16) + (ch4 << 24));
},
readUnsignedShort:function(){
let ch1 = this.read();
let ch2 = this.read();
return ((ch2 << 8) + ch1);
},
seek:function (pos) {
this.pos=pos;
}
}
*/
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/newzhuimengzhe/mhxyqwas.git
git@gitee.com:newzhuimengzhe/mhxyqwas.git
newzhuimengzhe
mhxyqwas
梦幻西游was
master

搜索帮助