Estoy definiendo la longitud del contenido de una solicitud HTTP, pero debido a que a veces puede contener caracteres chinos cuando llega al lado de la respuesta, se trunca.
He estado tratando de obtener la forma correcta de establecer la longitud del contenido de una cadena mixta de chino/latín, pero sin suerte. se sigue truncando.
headers["Content-Length"] = data.length; //fails { \"query\": \"周杰伦\", \"type\": \"artist\"} //gets truncated { \"query\": \"gennaro\", \"type\": \"artist\"} //successful request¿Alguien puede sugerir cómo calcular correctamente la segunda longitud de cadena para el encabezado de longitud de contenido?
NOTA: el cuerpo se clasifica desde JSON antes de enviarlo.
Gracias
Para solucionar este problema, utilicé TextEncoder, que me permite codificarlo en utf8 y luego contarlo de la manera correcta.
let bodyLength = (new TextEncoder().encode(dataBody)).length;