@Override
    public byte[] readChar(int id) {
      String value = enforceMaxLength(convertToString(dict.decodeToInt(id)));
      return convertToBytes(value);
    }
The reader who reads from the underlying decimal value which is stored in an INT32 physical type.

The data is read as INT32 from the reader treated as a decimal, then validated, converted
and returned as per the type defined in HMS.
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/ParquetDataColumnReaderFactory.java