Проверьте, содержит ли последовательность байтов utf-16

Я читаю последовательность байтов из потока. Предположим ради аргумента, что последовательность имеет фиксированную длину, и я прочитал все это в байтовом массиве (в моем случае этоvector<char> но это не важно для этого вопроса). Эта последовательность байтов содержит строку, которая может быть либо в кодировке utf-16, либо в кодировке utf-8. К сожалению, нет никакого индикатора, который это.

Я могу проверить, представляет ли последовательность байтов действительную кодировку utf-16, а также представляет ли она действительную кодировку utf-8, но я также могу представить, как одна и та же последовательность байтов может быть действительной utf-8 и действительной utf-16. в то же время.

Итак, значит ли это, что нет никакого способа выяснить, какой именно?

Ответы на вопрос(2)

Ваш ответ на вопрос