Строки и кодировка символов в C ++

Я прочитал несколько сообщений о передовых методах кодирования строк и символов в C ++, но я немного борюсь с поиском универсального подхода, который кажется мне достаточно простым и правильным. Могу я попросить прокомментировать следующее? Я склонен использовать UTF-8 и UTF-32 и определить что-то вроде:

typedef std::string string8;
typedef std::basic_string<uint32_t> string32;

Класс string8 будет использоваться для UTF-8, а наличие отдельного типа является просто напоминанием о кодировке. Альтернативой было бы, чтобы string8 был подклассом std :: string и удалил методы, которые не совсем подходят для UTF-8.

Класс string32 будет использоваться для UTF-32, когда фиксированный размер символа равен желательно.

Функции CPP UTF-8, utf8 :: utf8to32 () и utf8 :: utf32to8 (), или даже более простые функции-оболочки, будут использоваться для преобразования между ними.

13
задан nassar 16 October 2010 в 20:12
поделиться