Obtención del conjunto de caracteres de respuesta de respuesta para obtener o publicar solicitud.

Estoy trabajando para extraer el juego de caracteres de respuesta en una aplicación web java, donde estoy usando el cliente HTTP Apache.

Por ejemplo, un valor posible obtenido del encabezado “Content-Type” es

text/html; charset=UTF-8 

Luego mi código extraerá todo el texto después del signo “=” …

Así que el charset que se extraiga será

  UTF-8 

Solo quería saber si el método anterior para obtener el conjunto de caracteres de respuesta es correcto. ¿O hay algún escenario donde el código anterior no funcionará? ¿Hay algo que me estoy perdiendo aquí?

¿No httpclient (o http core) ya proporciona esa funcionalidad? Algo como esto:

 HttpResponse response = ... String charset = EntityUtils.getContentCharSet(response.getEntity()); 

El método proporcionado por cuarenta y dos puede funcionar. Pero el método está en desuso, descubro que este sitio web tiene un buen ejemplo de método para encontrar el conjunto de caracteres.

 HttpEntity entity = response.getEntity(); ContentType contentType = ContentType.getOrDefault(entity); Charset charset = contentType.getCharset(); System.out.println("Charset = " + charset.toString()); 

Bueno, ese enfoque fracasará cuando

  1. el valor del conjunto de caracteres se cita
  2. cuando el valor citado utiliza escapes
  3. cuando hay parámetros distintos de “charset”