code: public static String getUS7ASCIIEquiv(String convertString) {
      if (convertString == null)
        return null;
  
      StringBuilder convertedString = new StringBuilder();
      String upperConvertString = convertString.toUpperCase();
  
      Collator collator = Collator.getInstance(Locale.US);
      collator.setStrength(Collator.PRIMARY);
  
      String chars = "abcdefghijklmnopqrstuvwxyz";
      for (int i = 0; i < convertString.length(); i++) {
        char currentChar = convertString.charAt(i);
        boolean isUppercase = currentChar == upperConvertString.charAt(i);
        char mappedChar = ' ';
        if (currentChar < 128) {
          // Within low-ascii, leave it alone.
          mappedChar = currentChar;
        } else if (currentChar < 256) {
          for (int j = 0; j < chars.length(); j++) {
            if (collator.compare(currentChar + "", chars.charAt(j) + "") == 0) {
              if (isUppercase)
                mappedChar = Character.toUpperCase(chars.charAt(j));
              else
                mappedChar = chars.charAt(j);
              break;
            }
          }
        } else {
          // Out of our mapping range. It just becomes a space
        }
        convertedString.append(mappedChar);
      }
      return convertedString.toString();
    }
docs: Converts a string with possible high-ascii values into their ascii7 equiv., for instance 'é'
  maps to 'e'. All low ascii characters are left untouched. Any character above 255 is converted
  to a space.