You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
3 years ago | |
|---|---|---|
| .. | ||
| .eslintrc | 3 years ago | |
| .npmignore | 3 years ago | |
| .travis.yml | 3 years ago | |
| LICENSE | 3 years ago | |
| Makefile | 3 years ago | |
| README.md | 3 years ago | |
| index.js | 3 years ago | |
| package.json | 3 years ago | |
| test.js | 3 years ago | |
README.md
microbuffer
Light implementation of binary buffer with helpers for easy access.
This library was written for fontello's font convertors - svg2ttf ttf2woff ttf2eot. Main features are:
- good speed & compact size (no dependencies)
- transparent typed arrays support in browsers
- methods to simplify binary data read/write
API
Constructor
new MicroBuffer(microbuffer [, offset, length])- wrap MicroBuffer instanse, sharing the same data.new MicroBuffer(Uint8Array|Array [, offset, length])- wrap Uint8Array|Array.new MicroBuffer(size)- create new MicroBuffer of specified size.
Methods
.getUint8(pos).getUint16(pos, littleEndian).getUint32(pos, littleEndian).setUint8(pos, value).setUint16(pos, value, littleEndian).setUint32(pos, value, littleEndian)
With position update:
.writeUint8(value).writeInt8(value).writeUint16(value, littleEndian).writeInt16(value, littleEndian).writeUint32(value, littleEndian).writeInt32(value, littleEndian).writeUint64(value)
Other:
.seek(pos).fill(value).writeBytes(Uint8Array|Array).toString().toArray()