I've looked at you question and the question you linked two and I've tried to join the dots to give you an answer, so I might be well off the mark, but...
I think you might have misunderstood what 0x28 means.
0x?? means that the ?? represent a hexadecimal number rather than a decimal number.
So 10 (Ten) in decimal is the same as 0x0A in hex or B00001010 or in binary or even 012 in octal. (See https://www.arduino.cc/en/Reference/IntegerConstants for more details)
So you want to have some code that says:
char Address = 0x28;
This is assigning the hexadecimal value 28 to the variable Address. You could also write:
char Address = 40;
In this case you are assigning the value decimal 40 (which is hex 28) to the variable. If you want to write strange code that is misleading you could write:
char Address = '('; // ( is ASCII character 0x28 or 40 - Don't do it like this!
One other important thing here is that the char type in this case is not being used as type that holds a printable character, its being used as a signed 8 bit number.