Quote Originally Posted by davo666 View Post
(such that casting it to a uint16_t gets me the wrong first element of the array) so i have to cast it to uint8_t.
Dude, the first character cannot really be 0x00. Maybe you should look at this.

I don't think you should use an unsigned datatype in the conversion. It may seem that in hex it's all the same, but I would observe that normal unicode is signed and mostly negative.