private static String[] convertToAsciiNums(String[] inputChars) throws NumberFormatException,
			IOException {
		String[] retArr = new String[inputChars.length];

		// Don't convert the last array entry because it represents counts!
		for (int i = 0; i < retArr.length - 1; i++) {
			if (inputChars[i].length() > 1) {
				if (descriptionToAsciiInt.containsKey(inputChars[i])) {
					retArr[i] = descriptionToAsciiInt.get(inputChars[i]).toString();
				}
				else {
					if ((inputChars[i].equals("[^]")) || (inputChars[i].equals("[$]"))) {
						retArr[i] = inputChars[i];
					}
					else {
						throw new IOException("Can not parse character " + inputChars[i] +
							" in model file (expecting a string representation of an ASCII character).");
					}
				}
			}
			else {
				retArr[i] =
					Integer.valueOf(Character.valueOf(inputChars[i].charAt(0)).charValue()).toString();
			}
		}

		return retArr;
	}
Read in model files, smooth counts, and calculate log probabilities. 

@param charFileToSlurp  File containing character ngram counts
@throws IOException
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/string/NGramUtils.java