UCS-2 is a bad choice -- it fails to represent most unicode characters. If you meant UTF-16, that's also a bad choice, because UTF-16 is
also a variable width encoding, forcing programmers to use a some for of "extra-wide char".
I'm of the opinion that wchar_t should become an alias for char32_t.