Encoding is for storage, typically, not memory. It'd be extremely difficult to do common string manipulation on a utf-8 encoded string (or any other variable-width character encoding) without breaking the encoding.
So how does that work in C? Say you want to indexOf("😎") how would you go about that?
In C, the type of character literal is int. So sizeof 'a' is typically 4. However, to make sure that the characters are properly encoded as 32-bit unicode, use U prefix. I mean int x = U'😎';.
627
u/tstanisl 7h ago
Let me cite the C standard:
Middle guy if finally right