code: def _token_to_ids(self, token):
      
      # Check cache
      cache_location = hash(token) % self._cache_size
      cache_key, cache_value = self._token_to_ids_cache[cache_location]
      if cache_key == token:
        return cache_value
  
      subwords = self._token_to_subwords(token)
      ids = []
      for subword in subwords:
        if subword == _UNDERSCORE_REPLACEMENT:
          ids.append(len(self._subwords) + ord("_"))
          continue
        subword_id = self._subword_to_id.get(subword)
        if subword_id is None:
          # Byte-encode
          ids.extend(self._byte_encode(subword))
        else:
          ids.append(subword_id)
  
      # Update cache
      self._token_to_ids_cache[cache_location] = (token, ids)
  
      return ids
docs: Convert a single token to a list of integer ids.