private static int decodeCodePoint(String rep) throws IOException, NumberFormatException {
		if (rep == null || rep.isEmpty()) {
			throw new IOException("Invalid character symbol in model file");
		}
		if (rep.codePointCount(0, rep.length()) == 1) {
			return rep.codePointAt(0);
		}
		if (rep.length() == 3 && META_CHARS.contains(rep)) {
			// convert $, ^ (start-of-line, end-of-line) to null char
			return '\0';
		}
		if (rep.length() == 6 && rep.startsWith("\\u")) {
			// "\uFFFF"
			return Integer.parseUnsignedInt(rep, 2, 6, 16);
		}
		if (rep.length() == 10 && rep.startsWith("\\U")) {
			// "\uFFFFFFFF"
			return Integer.parseUnsignedInt(rep, 2, 10, 16);
		}
		if (rep.startsWith("[")) {
			// one of the "[xx]" codes
			Integer codePoint = descriptionToCodePoint.get(rep);
			if (codePoint == null) {
				throw new IOException("Can not parse character " + rep + " in model file");
			}
			return codePoint;
		}
		return rep.codePointAt(0);
	}
Three (3) adjacent characters, with \0 being reserved for start and end of string magic values.

@param codePoints 3 characters (as int32 code points)
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/strings/Trigram.java