Red de conocimiento informático - Aprendizaje de programación - Problemas de codificación Java, conversión GBK y UTF-8

Problemas de codificación Java, conversión GBK y UTF-8

Por supuesto que este método no funcionará. En primer lugar, debe comprender el significado de codificación:

Use el idioma para dar un ejemplo:

Use inglés y chino para expresar el concepto de "automóvil, el inglés es automóvil, Chino es coche."

Como chino que habla inglés, por supuesto, cuando ve Car, puede entenderlo como "car", y cuando ya entiende que la expresión significa "car", puede exprésalo correctamente ya sea en inglés o en chino.

Pero si una persona china que no habla inglés no puede entender Car como “car”, no podrá comunicarse con él. en inglés.

Lo mismo ocurre con la codificación<. /p>

Cuando su software ya sabe lo que quiere expresar (s es el concepto de "automóvil"), entonces solo necesita hacerlo. exprésalo usando la codificación especificada (qué idioma, s.getBytes("xxx")) Eso es todo. Lo que hiciste arriba es como intentar entender Car en chino, que por supuesto será confuso. Por supuesto, la comunicación del lenguaje aquí se refiere al flujo de bytes (byte), que es transmisión binaria.

En primer lugar, su encabezado XML debe escribirse como GBK

Entonces depende de lo que uses. Cómo transmitir este mensaje XML:

Si se transmite con parámetros de mensaje HTTP, el mensaje XML debe codificarse con URLEncoder, de modo que el chino se convierta en algo como% NN%, todo si está en inglés, no tiene nada que ver con la codificación.

Si se transmite en una secuencia, se codifica. debe hacerse. Use un BufferedWriter para encapsular un OutputStreamWriter y luego encapsule el OutputStream. write(s,0,s.length());

writer.flush;

O puedes convertir el XML en una matriz de bytes primero, luego descomprimirlo y transmitirlo

byte[] byteArray = s.getBytes("GBK");