- payload = packet[20:-1].decode().split(",")
- proto = payload[0] if len(payload) > 0 else ""
+ try:
+ splits = packet[20:-1].decode().split(",")
+ proto = splits[0] if len(splits) > 0 else ""
+ payload: Union[List[str], bytes] = splits[1:]
+ except UnicodeDecodeError:
+ bsplits = packet[20:-1].split(b",", 1)
+ if len(bsplits) == 2:
+ proto = bsplits[0].decode("ascii")
+ payload = bsplits[1]