decode
Inverse of encode; returns null for a structurally malformed record (wrong field count, unparseable node number, or an undecodable beacon payload). An unparseable snr or rssi falls back to absent — they are non-critical display metrics, not identity, so a bad numeric there does not discard an otherwise-valid invitation. An absent value encodes as null, which String.toFloatOrNull/String.toIntOrNull round-trip back to null.