didn't knew that '!' is the same as 0x21..
'!' == 33 == 0x21 == 0b00100001
Is there a way to rewrite it to regular hex codes ? Or does every controller understand this notation ?
Again, '!' == 33 == 0x21 == 0b00100001
Those are different ways of displaying the same bytes. The controller does not see any "hex" or "notation"; it only sees the sequence of 0's and 1's.
I recommend you learn about how bits/bytes are stored in computer memory: http://statmath.wu.ac.at/courses/data-analysis/itdtHTML/node55.html