Compruebe si la secuencia de bytes contiene utf-16

Estoy leyendo una secuencia de bytes de una secuencia. Supongamos, por el bien del argumento, que la secuencia es de una longitud fija y leí todo en una matriz de bytes (en mi caso esvector<char> pero no es importante para esta pregunta). Esta secuencia de bytes contiene una cadena, que puede ser en la codificación utf-16 o utf-8. Desafortunadamente, no hay un indicador de cuál es.

Puedo verificar si la secuencia de bytes representa una codificación válida de utf-16 y también si representa una codificación válida de utf-8, pero también puedo ver cómo la misma secuencia de bytes puede ser una utilidad válida utf-8 y una utilidad válida utf-16 al mismo tiempo.

Entonces, ¿eso significa que no hay manera de averiguar genéricamente cuál es?

Respuestas a la pregunta(2)

Su respuesta a la pregunta