Я анализирую XML-файл, который может содержать локализованные строки на разных языках (на данный момент это просто английский и испанский, но в будущем это может быть любой язык), API для синтаксического анализатора XML возвращает все данные в пределах XML через символ *, который закодирован в UTF8.
Некоторые операции с данными требуются после их анализа (поиск в них подстрок, объединение строк, определение длины подстрок и т. Д.).
Было бы удобно использовать стандартные функции, такие как strlen, strcat и т. Д. Поскольку необработанные данные, которые я получаю от синтаксического анализатора XML, являются символами * Я могу легко выполнять все манипуляции с помощью этих стандартных функций обработки строк.
Однако все это, конечно, предполагает и требует, чтобы строки заканчивались на NULL.
Поэтому мой вопрос - если у вас есть широкие данные, представленные как char *, может ли символ NULL-терминатор встречаться внутри данных, а не в конце?
т.е. если символу определенного языка не требуется 2 байта для его представления, и он представлен одним байтом, будет / может ли другой байт иметь значение NULL?