I don't think I am mixing it up. The char type is not a unicode character just like the byte is not. Yet, these are the characters in a string type. Python went to fix this, jvm and clr didn't.
[1] although from quick googling it looks like C# handles things the same way as Java.