Вопросы к Поиску с Алисой
Хранение данных Unicode в C++ зависит от конкретной кодировки Unicode-текста. learn.microsoft.com
Для кодировки UTF-8 используется тип char, так как она основана на восьмибитовых кодовых единицах. learn.microsoft.com Для хранения Unicode-текста в этой кодировке подходит STL-класс std::string, основанный на char. learn.microsoft.com
Для кодировки UTF-16 используется тип wchart, так как каждая кодовая единица представляется 16-битными словами. learn.microsoft.com Для хранения Unicode-текста в этой кодировке подходит STL-класс std::wstring, основанный на wchart. learn.microsoft.com
Стандарт C++ не определяет размер типа wchart, поэтому разные компиляторы C++ могут оперировать различными размерами. learn.microsoft.com Например, компилятор GNU GCC C++ в Linux определяет размер wchart как 32 бита. learn.microsoft.com
Поскольку Unicode содержит очень много кодовых обозначений, для представления одного символа Unicode обычно требуется 32 бита (кодировка UTF-32). radioprog.ru Однако символы Unicode также могут быть закодированы с использованием 16 или 8 битов (кодировки UTF-16 и UTF-8 соответственно). radioprog.ru