¿Cuál es la diferencia entre la cadena s = new String (s.getBytes ( "UTF-8"), "UTF-8"); y la cadena de s = new String (s.getBytes (), "UTF-8");

Jala Sureshreddy:

¿Qué es la diferencia entre

String(s.getBytes("UTF-8"),"UTF-8"); 

y

String(s.getBytes(),"UTF-8");

Con el primer ejemplo de código algunos de los caracteres especiales están siendo decodificados por qué y cuál es la diferencia?

E impactará nada si uso doble decodificación con UTF-8?

GhostCat saludos Monica C.:

Desde el javadoc :

Por getBytes():

Codifica esta cadena en una secuencia de bytes que utilizan juego de caracteres por defecto de la plataforma, almacenando el resultado en una nueva matriz de bytes.

Considerando que, getBytes(Charset)dice:

Codifica esta cadena en una secuencia de bytes utilizando el juego de caracteres dado, almacenar el resultado en una nueva matriz de bytes.

Así que la segunda versión le permite tomar el control total, la primera llamada se basa en que el juego de caracteres predeterminado de la plataforma.

Eso es todo lo que hay a esto.

Para que "predeterminado de la plataforma", ver aquí , por ejemplo. Y tenga en cuenta que la gente está pidiendo que tomemos el valor predeterminado a ser simplemente UTF-8 a través del tablero (ver aquí ).

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=196810&siteId=1
Recomendado
Clasificación