Find spots in a raw vector that match a given byte sequence.
Usage
matchBytes(input, b1, ...)
Arguments
- input
a vector of raw (byte) values.
- b1
a vector of bytes to match (must be of length 2 or 3 at present;
for 1-byte, use which()).
- ...
additional bytes to match for (up to 2 permitted)
Value
matchBytes returns a double vector of the indices of input that
match the start of the bytes sequence. (A double vector is returned
instead of an integer vector, to avoid problems with large files.)
Examples
buf <- as.raw(c(0xa5, 0x11, 0xaa, 0xa5, 0x11, 0x00))
print(buf)
#> [1] a5 11 aa a5 11 00
print(matchBytes(buf, 0xa5, 0x11))
#> [1] 1 4