docs: def evaluate_normal(self, value):
          """Evaluate normal string."""
  
          if value.startswith('L'):
              size = self.wide_charset_size
              encoding = self.wide_exec_charset
              value = value[2:-1]
              pack = BYTE_STORE[size | CURRENT_ENDIAN]
          else:
              size = self.charset_size
              encoding = self.exec_charset
              value = value[1:-1]
              pack = BYTE_STORE[size | CURRENT_ENDIAN]
          max_value = 2 ** (size * 8) - 1
  
          def replace(m):
              """Replace."""
  
              groups = m.groupdict()
              esc = m.group(0)
              value = esc
              if groups.get('special'):
                  # Handle basic string escapes.
                  value = BACK_SLASH_TRANSLATION[esc]
              elif groups.get('char'):
                  # Handle hex/Unicode character escapes
                  if value.startswith('\\x'):
                      values = [int(x, 16) for x in value[2:].split('\\x')]
                      for i, v in enumerate(values):
                          if v <= max_value:
                              values[i] = struct.pack(pack, v)
                          else:
                              values[i] = b' '
                      value = b''.join(values).decode(encoding, errors='replace')
                  else:
                      integer = int(value[2:], 16)
                      value = chr(integer).encode(encoding, errors='replace').decode(encoding)
              elif groups.get('oct'):
                  # Handle octal escapes.
                  values = [int(x, 8) for x in value[1:].split('\\')]
                  for i, v in enumerate(values):
                      if v <= max_value:
                          values[i] = struct.pack(pack, v)
                      else:
                          values[i] = b' '
                  value = b''.join(values).decode(encoding, errors='replace')
              return value
  
          return self.norm_nl(RE_ESC.sub(replace, value)).replace('\x00', '\n'), encoding