docs: def encode(in_bytes):
      """Encode a string using Consistent Overhead Byte Stuffing (COBS).
      
      Input is any byte string. Output is also a byte string.
      
      Encoding guarantees no zero bytes in the output. The output
      string will be expanded slightly, by a predictable amount.
      
      An empty string is encoded to '\\x01'"""
      if isinstance(in_bytes, str):
          raise TypeError('Unicode-objects must be encoded as bytes first')
      in_bytes_mv = _get_buffer_view(in_bytes)
      final_zero = True
      out_bytes = bytearray()
      idx = 0
      search_start_idx = 0
      for in_char in in_bytes_mv:
          if in_char == b'\x00':
              final_zero = True
              out_bytes.append(idx - search_start_idx + 1)
              out_bytes += in_bytes_mv[search_start_idx:idx]
              search_start_idx = idx + 1
          else:
              if idx - search_start_idx == 0xFD:
                  final_zero = False
                  out_bytes.append(0xFF)
                  out_bytes += in_bytes_mv[search_start_idx:idx+1]
                  search_start_idx = idx + 1
          idx += 1
      if idx != search_start_idx or final_zero:
          out_bytes.append(idx - search_start_idx + 1)
          out_bytes += in_bytes_mv[search_start_idx:idx]
      return bytes(out_bytes)