How to obtain a formatted HEX value 0x00?

I'm trying to fill in a PORT command (in my case PORTC).
When I do this it works:

PORTC = 0x46;

But I get a value from another source and this value can be in ascii and sometimes in byte I tried the following ways but I couldn't:

PORTC = ('g',HEX);
//or
PORTC = (128,HEX);

Thanks a lot for the help

Better read up on the Comma Operator. After that, my guess is you'll not want to be using it here.

These work:

PORTC = 'g';
PORTC = 128;
PORTC = 0; //to answer the question in the post title

All numbers in the computer are binary. HEX, like decimal, is a human readable representation of a binary number.

It worked here, thank you very much to everyone who helped.