char16_t
From Just Solve the File Format Problem
C++ char16_t is guaranteed to never use less bits than char and to be no less than 16 bits wide. This means that it can successfully store any UCS-2 character value.
Character literal must use single quotes preceding with the letter u. It is also possible to use octal or hexadecimal representation to produce literals. Here is an example;
char16_t c1 = u'ё'; char16_t = u'ab'; char16_t = u'\123'; char16_t = u'\xA9';
char16_t is considered to be enumerable (thus you can use characters in constructs like switch).