我正在使用this庫在C++中執行從UTF16到UTF8的轉換。UTF 16 UTF8使用C++中的utf8庫
該示例提出了以下的方法來UTF16轉換爲UTF-8:
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,是 – Chani
@JohnZwinck我用字符指針來初始化std :: string,現在我正在嘗試使用字符串的迭代器。現在它開始工作了。 – Chani