У меня есть utf16 wchar_t *, который мне нужно преобразовать и выгрузить в utf8 char *. Я использую std :: wcstombs, чтобы сделать это, и использую длину wchar_t * для максимальной длины.Длина строки utf16 как строка utf8
Я немного расплывчатый на пути использования кодирования utf, хотя, IIRC, один символ может занимать несколько байтов, и в этом случае я мог бы потерять некоторые символы, когда делаю это так.
В настоящее время персонажи, которые могут возникнуть, довольно ограничены и, вероятно, подойдут даже в кодировке ASCII, но позже я планирую разрешить больше, например, öäõü и т.п. У меня проблема? Если да, как бы я измерил длину буфера, который мне нужно выделить?
... И вопрос в том, что? Не совсем понятно, что вы просите. – 3442
UTF-16 также имеет многосимвольные последовательности, так что это два или четыре байта на код, переводящий одинаково волатильное количество байтов в UTF-8. Кроме того, существует множество способов представления Umlauts в Unicode. –