code: def _read_string(fid, tag, shape, rlims):
      """Read a string tag."""
      # Always decode to ISO 8859-1 / latin1 (FIFF standard).
      d = _frombuffer_rows(
          fid, tag.size, dtype=">c", shape=shape, rlims=rlims
      )
      string = str(d.tobytes().decode("latin1", "ignore"))
      if re.search(r"&#[0-9a-fA-F]{6};", string):
          string = html.unescape(string)
      return string
  
imports: import html
  import re
  import struct
  from dataclasses import dataclass
  from functools import partial
  from typing import Any
  import numpy
  from scipy.sparse import csc_matrix, csr_matrix
  from ..utils import _check_option, warn
  from ..utils.numerics import _julian_to_cal
  from .constants import FIFF, _ch_coil_type_named, _ch_kind_named, _ch_unit_mul_named, _ch_unit_named, _dig_cardinal_named, _dig_kind_named
label_desc: Use image node_id 8 for calling a global function with example usage: _read_string(fid, tag, shape, rlims) and returns: string