Hello all, I hope I understand this correctly: In UTF-8 all ASCII characters are 8 bits long and other, more sophisticated, 2 to 4 bytes. Every character in UTF-16 is 2 bytes long. So, how does one encode a character that is, say, 4 bytes long in UTF-16? I'm asking because I'm a bit worried - in WINAPI (plain C), every unicode function is based on WCHAR that is 2 bytes long. Also all (my) string parsing and handling is based on "fact" that every character takes up 2 bytes. What happens if I enter a 4-byte character? All my strings go to hell? Thanks.