IoT.js provides Buffer to compensate the lack of pure JavaScript's capability of manipulating binary data, JavaScript string is only suitable for Unicode string. Buffer allows you to handle sequence of binary data in JavaScript world.
Buffer class is a global type. you can create a buffer object in several way.
size: Number
Allocates a new buffer of size bytes.
buffer: Buffer
Allocates a new buffer copied from given buffer.
str: String
Allocates a new buffer containing given str.
str: Stringencoding: String
Allocates a new buffer containing given str.
If provided, the encoding parameter identifies the character encoding of string.
It only supports hex.
array: Array
Allocates a new Buffer using an array of octets.
string: Stringencoding: String- Return:
Number
Returns actual byte length of string encoded by encoding. UTF-8 encoding is by default.
Note that it may be different from String.prototype.length since that returns the number of characters in a string.
list: Array of Buffer- Return:
Buffer
Returns a Buffer concatenating all the Buffers in the list.
obj: Object
Test if obj is a Buffer.
Number
The capacity of buffer in bytes.
Note that the value of length is not necessarily the same to the size of contents.
otherBuffer: Buffer- Return:
Number
targetBuffer: BuffertargetStart: Number, Default:0sourceStart: Number, Default:0sourceEnd: Number, Default:buf.length
Returns a number indicating which buffer comes first between this and otherBuffer when lexicographically sorted.
otherBuffer: Buffer- Return:
Bool
Returns whether this and otherBuffer have the same bytes.
value: IntegerThe value to fillbufwith- Return:
BufferA reference to buffer
Fills buf with the specified value.
start: Number, Default: `0end: Number, Default:buf.length- Return:
Buffer
Returns new buffer containing the same bytes of original buffer cropped by the given indices.
Copies data from buf[sourceStart..sourceEnd-1] to targetBuffer[targetStart..].
encoding: String, The character encoding to decode to. Currentlyhexis supported.start: Number, Default:0end: Number, Default:buffer.length- Return:
String
Returns a string from buffer.
string: String- data to be written to bufferoffset: Number, Default:0- start position of buffer for writing.length: Number, Default:buffer.length - offset- total length to be written.- Return:
Number- total number of bytes written.
Writes string to buffer starting from offset. Returns total number of bytes written to the buffer.
value: Number- number to be written to bufferoffset: Number, - start position of buffer for writing.noAssert: Boolean, Default: false - skip value and offset validation.- Return:
Numberoffset plus the number of bytes written.
Writes value to buffer starting from offset. value should be a valid unsigned 8-bit integer.
value: Number- number to be written to bufferoffset: Number, - start position of buffer for writing.noAssert: Boolean, Default: false - skip value and offset validation.- Return:
Numberoffset plus the number of bytes written.
Writes value to buffer starting from offset writes little endian format. value should be a valid unsigned 16-bit integer.
value: Number- number to be written to bufferoffset: Number- start position of buffer for writing.noAssert: Boolean, Default: false - skip value and offset validation.- Return:
Numberoffset plus the number of bytes written.
Writes value to buffer starting from offset writes little endian format. value should be a valid unsigned 32-bit integer.
offset: Number- start position of buffer for reading.noAssert: Boolean, Default: false - skip offset validation.- Return:
Number
Reads an unsigned 8-bit integer from buf at the specified offset.
offset: Number- start position of buffer for reading.noAssert: Boolean, Default: false - skip offset validation.- Return:
Number
Reads an signed 8-bit integer from buf at the specified offset.
offset: Number- start position of buffer for reading.noAssert: Boolean, Default: false - skip offset validation.- Return:
Number
Reads an unsigned 16-bit integer from buf at the specified offset with little endian format.