Я использую библиотеку this для выполнения моих преобразований с UTF16 на UTF8 в C++.UTF 16 to UTF8 с использованием библиотеки utf8 в C++
Пример предлагает следующий способ преобразования UTF16 в utf8:
unsigned short utf16string[] = {0x41, 0x0448, 0x65e5, 0xd834, 0xdd1e};
vector<unsigned char> utf8result;
utf16to8(utf16string, utf16string + 5, back_inserter(utf8result));
assert (utf8result.size() == 10);
где определение utf16to8 определяется по формуле:
template <typename u16bit_iterator, typename octet_iterator>
octet_iterator utf16to8 (u16bit_iterator start, u16bit_iterator end, octet_iterator result);
У меня есть массив символов, который имеет символы в UTF16 , Можете ли вы сказать мне, можно ли использовать эту библиотеку, если я не знаю размер (количество допустимых символов) моего массива символов UTF16?
Подождите, вы имели в виду «не знаете размер» вместо «теперь знаете размер»? –
@JohnZwinck, yes – Chani
@JohnZwinck Я использовал указатель на символ для инициализации std :: string, и теперь я пытаюсь использовать итераторы строки. Теперь он работает. – Chani