Converción_StringHEX_ASCII

Tengo el Siguiente Código para convertir un valor String HEX a un valor String ASCII, el problema con la función es que para valores que superen los 128 (80 en Hexadecimal) el resultado que muestra no es correcto, alguien podrá decirme cual es el error?
Esta es mi función:

public String hexadecimalToASCII(String hexString) throws ParseException {
    String ascii = "";
    hexString = hexString.replace(" ", "");
    for (int i = 0; i < hexString.length(); i += 2) {
       String str = hexString.substring(i, i + 2);
       ascii += (char) Integer.parseInt(str, 16);
    }
    return ascii;
}

El valor de prueba es el siguiente "80000000" pero al momento de escribirlo en un archivo se escribe de la siguiente manera "1A000000".