How to convert Unicode char to “Unicode HEX Position” in Arduino
Unlike JavaScript, C++ makes no difference between a character and its
code point. Thus, 'A', 0x41 and 65 are just different ways of
writing the same number.
Note, however, that the char type is intended to hold ASCII only. For
everything else, you may try using wide characters. For example, the
program
void setup() {
    Serial.begin(9600);
    wchar_t c = L'س';
    Serial.println(c, 16);
}

void loop() {}

outputs 633 on the serial port. Note the second argument to
Serial.println() which specifies base 16. Default is to print
numbers in decimal.
Beware that the representation of wide characters is implementation
defined, and the avr-libc doesn't provide support for manipulating them
or strings made with them. If you want to transmit them, you will also
have to decide for yourself how to break them down into a sequence of
bytes, as that's the only thing a serial port (or I2C, or SPI for that
matter) can transmit. UTF-8 is the most popular choice. I doubt wide
characters are popular in embedded systems at all.