private String buildStringLabel() {

		if (specialPrefix != null) {
			// a 'special prefix' implies that the author wishes to apply the string exactly as-is
			return getName();
		}

		// build string label consistent with dynamic label formatting
		int len = string.length();
		StringBuilder buf = new StringBuilder(len);
		for (int i = 0; i < len; ++i) {
			char c = string.charAt(i);
			if (StringUtilities.isDisplayable(c) && (c != ' ')) {
				buf.append(c);
			}
			else {
				buf.append('_');
			}
		}
		String prefix = isUnicode() ? "u_" : "s_";
		return prefix + buf.toString();
	}
Construct demangled string.
@param mangled the source mangled string
@param originalDemangled the original demangled string
@param name name associated with this object
@param string string text associated with this object or null.  This is used to establish
label and plate comment if specified.  If null, name will be used as symbol name.
@param length length of string or -1.  Actual string data type applied currently
assumes null terminated string.
@param unicode true if string is a Unicode string.
Ghidra/Features/Base/src/main/java/ghidra/app/util/demangler/DemangledString.java