@enocean-js/byte-array
v0.1.0
Published
a byte array
Downloads
386
Readme
ByteArray
the ByteArray
is an object that inherits from Array
. There are 3 features added to it.
the .from method
ByteArray.from(args)
returns a new ByteArray.
args
args can be zero or more paramters of type Number
or String
or an Array
of these type including Arrays
.
Strings
are interpreted as numbers written in hexadecimal notation. Every String
passed, that contains chars other than 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f
is an Error
if a Number
is larger than 255 it will be split into 8bit Bytes. so ByteArray.from(256) returns [1,0]
examples
ByteArray.from(1)
returns [1]
ByteArray.from(1,2,3)
returns [1,2,3]
ByteArray.from(1,"2",[3])
returns [1,2,3]
ByteArray.from("010203")
returns [1,2,3]
ByteArray.from("01",[2,"03"])
returns [1,2,3]
ByteArray.from("01",[2,["03",4],5])
returns [1,2,3,4,5]
ByteArray.from(0x010203)
returns [1,2,3]
ByteArray.from(0x010203,[4,"05"],6,0x0708)
returns [1,2,3,4,5,6,7,8]
.toString()
returns a string representing the Array in hexadecimal notation.
examples
ByteArray.from(1,2,3).toString()
returns "010203"
ByteArray.from(0xff0203,[4,"05"],6,0x0708)
returns "ff02030405060708"
.set
arr.set(data, offset) inserts data into the Array at an offset.
data
data passed here will be turned into a ByteArray. see ByteArray.from()
The resulting Array will be spliced into the array at the offset passed here as well. overwriting exactly the number of items passed.
if the length of the passed array plus the offset is larger than the originl Array, it will be expanded.
offest defaults to 0 and can be omitted
examples
ByteArray.from(1,2,3,4,5,6).set("aabb",2).toString()
returns "0102aabb0506"
ByteArray.from(1,2,3,4,5,6).set(0xaabb,2).toString()
returns "0102aabb0506"
ByteArray.from(1,2,3,4,5,6).set([0xaa,0xbb],2).toString()
returns "0102aabb0506"
ByteArray.from(1,2,3,4).set("aabbccdd",2).toString()
returns "0102aabbbbccdd"