Из рабочего проекта С++ 0x новые типы char (char16_t и char32_t) для обработки Юникода будут неподписанными ( uint_least16_t и uint_least32_t будут основными типами).
Но насколько я могу видеть (не очень далеко), тип char8_t (на основе uint_least8_t) не определен. Зачем?
И это еще более запутанно, когда вы видите, что для строкового литерала UTF-8 введен новый префикс кодировки u8... на основе старого друга (знак/без знака) char. Почему?
Обновить: Там предлагается добавить новый тип: char8_t
char8_t: Тип для символов и строк UTF-8 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0482r0.html