Как использовать 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-байтового пространства. Например, китайский иероглиф