Byte array utils
Byte array utils
Read
Get uint16_t, uint32_t values from the byte array as uint8_t, big-endian sequence.
inline uint8_t G_BYTE(const uint8_t*& p) {
return *(p)++;
}
inline uint16_t G_WORD(const uint8_t*& p) {
uint32_t r = *p++;
r = (r << 8) + *p++;
return r;
}
inline uint32_t G_DWORD(const uint8_t*& p) {
uint32_t r = *p++;
r = (r << 8) + *p++;
r = (r << 8) + *p++;
r = (r << 8) + *p++;
return r;
}p is incremented by the number of bytes read.
Writing
Write uint8_t, big-endian uint16_t and uint32_t values to the byte array specified by pointer q.
q is incremented by the number of bytes written.
Background
To simplify operations when generating and disassembling the data payload of wireless packets.
More simplified pack_bytes() and expand_bytes() are also available.
最終更新