'\101' is an octal representation of a number. The largest printable character is 255 decimal, or 377 octal. What is interesting is that if you assign the decimal value of '\1001' (513) to a char, that will print '?'. Why that is, I don't know. As for the unicode values, they must be exactly 4 hex digits.