Как использовать 3 и 4-байтовые символы Юникода со стандартными строками c++?

в стандартном C++ у нас есть char и wchar_t для хранения символов. char может хранить значения между 0х00 и значение 0xFF. И wchar_t может хранить значения между 0x0000 и 0xFFFF. std::string использует char, поэтому он может хранить только 1-байтовые символы. std::wstring использует wchar_t, поэтому он может хранить символы до 2-байтовой ширины. Вот что я знаю о строках в C++. Пожалуйста, поправьте меня, если я сказал что-то не так до этого момента.

Я читал статья для UTF-8 в Википедии, и я узнал, что некоторые символы Unicode потребляют до 4-байтового пространства. Например, китайский иероглиф

5 ответов