@Override
	public String getArrayDefaultOffcutLabelPrefix(MemBuffer buf, Settings settings, int len,
			DataTypeDisplayOptions options, int offcutOffset) {
		if (hasStringValue(settings) && buf.isInitializedMemory()) {
			return new StringDataInstance(this, settings, buf, len, true).getOffcutLabelString(
				AbstractStringDataType.DEFAULT_ABBREV_PREFIX + "_",
				AbstractStringDataType.DEFAULT_LABEL_PREFIX, AbstractStringDataType.DEFAULT_LABEL,
				options, offcutOffset);
		}
		return null;
	}
Ghidra doesn't actually heed signedness unless the format is DECIMAL. Thus, for user
input, and to make this an inverse of getRepresentation, we'll adjust values between SMAX
and UMAX to ensure they get encoded as expected, rather than rejected. We'll still accept
signed values, though, since the user would rightly expect those to work, even though
it'll get echoed back in unsigned form.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/AbstractIntegerDataType.java