code: @NotNull
      public String getNullTerminatedString(int index, int maxLengthBytes, @NotNull Charset charset) throws IOException
      {
          return new String(getNullTerminatedBytes(index, maxLengthBytes), charset.name());
      }
docs: Creates a String from the _data buffer starting at the specified index,
  and ending where <code>byte=='\0'</code> or where <code>length==maxLength</code>.
  
  @param index          The index within the buffer at which to start reading the string.
  @param maxLengthBytes The maximum number of bytes to read.  If a zero-byte is not reached within this limit,
  reading will stop and the string will be truncated to this length.
  @return The read string.
  @throws IOException The buffer does not contain enough bytes to satisfy this request.