История изменений
Исправление
pavlick,
(текущая версия)
:
А что такое narrow char, если не мультибайтовая кодировка локали?
Ну кодировка локали, это кодировка локали, может быть любой, а narrow charcter string - это «текс без префикса в исходнике».
Если её не указывать, то используется локаль по умолчанию, которая «C», если её не установить (std::setlocale(LC_ALL, ""); чтобы взять системную), а в «C» й нету.
Да, наверное так и есть, но это все равно не поведение из доков.
Вообще начинаю приходить к мнениею, что есть две кодировки - ютф8 и ютф32(ну если надо в софтине посимвольно работать со строкой, конвертируем в ран тайме в него). Стандартный codcvt умеет конвертацию между ними. Если кто-то не может/не умеет ютф8 (шрифт/консоль), какая-нибудь там вин консоль не хочет подстроиться под «нормальный» текст, то это её проблемы, пусть горит вместе со всем остальным вагоном кодировок.
Исходная версия
pavlick,
:
А что такое narrow char, если не мультибайтовая кодировка локали?
Ну кодировка локали, это кодировка локали, может быть любой, а narrow charcter string - это «текс без префикса в исходнике».
Если её не указывать, то используется локаль по умолчанию, которая «C», если её не установить (std::setlocale(LC_ALL, ""); чтобы взять системную), а в «C» й нету.
Да, наверное так и есть, но это все равно не поведение из доков.
Вообще начинаю приходить к мнениею, что есть две кодировки - ютф8 и ютф32(ну если надо в софтине посимвольно работать со строкой, конвертируем в ран тайме в него). Стандартный codcvt умеет конвертацию между ними. Если кто-то не может/не умеет ютф8 (шрифт/консоль), какая-нибудь там вин консоль не хочет подстроиться под «нормальный» текст, то это её проблемы, пусть горит вместе со всем остальным вагоном кодировок.