For uint8_t, int8_t and char the value is first converted to an appropriate int type. This way the value is converted to a number rather than a character.