Ответ 1
В предложении Минимальная поддержка Unicode для стандартной библиотеки (версия 2) указывается, что поддержка только одной рабочей группы библиотеки поддерживая новые типы символов в строках и гранях codecvt. По-видимому, большинство выступало против поддержки iostream, fstream, граней, отличных от codecvt, и регулярного выражения.
Согласно протоколам встреча в Портленде в 2006 году, LWG стремится к полной поддержке Unicode, но не собирается дублировать библиотеку с вариантами символов Unicode существующих библиотечных средств ". Я не нашел никаких подробностей, однако я бы предположил, что комитет считает, что текущий интерфейс библиотеки непригоден для Unicode. Одна из возможных претензий может заключаться в том, что он был разработан с учетом символов фиксированного размера, но Unicode полностью устарел, поскольку, хотя данные Unicode могут использовать фиксированные кодовые точки, он не ограничивает символы одиночными кодовыми точками.
Лично я считаю, что нет оснований не стандартизировать минимальную поддержку, уже предоставленную на разных платформах (Windows использует UTF-16 для wchar_t, большинство платформ Unix используют UTF-32). Более продвинутая поддержка Unicode потребует новых возможностей библиотеки, но поддержка char16_t и char32_t в iostreams и facets не будет мешать, но позволит включить базовый Unicode i/o.