Java codificación de caracteres introducción

En el ordenador, cualquier texto es especificar existe la codificación en el desarrollo de los programas de Java en el más común es el ISO8859-1, JDS / GB2312, Unicode, UTF codificación.

Java común de codificación de la siguiente manera:

	ISO8859-1:属于单字节编码,最多只能表示 0~255 的字符范围。
	
	GBK/GB2312:中文的国标编码,用来表示汉字,属于双字节编码。GBK 可以表示简体中文和繁体中文,而 GB2312 只能表示简体中文。GBK 兼容 GB2312。
	
	Unicode:是一种编码规范,是为解决全球字符通用编码而设计的。UTF-8 和 UTF-16 是这种规范的一种实现,此编码不兼容 ISO8859-1 编码。Java 内部采用此编码。
	
	UTF:UTF 编码兼容了 ISO8859-1 编码,同时也可以用来表示所有的语言字符,不过 UTF 编码是不定长编码,每一个字符的长度为 1~6 个字节不等。一般在中文网页中使用此编码,可以节省空间。

Si se maneja adecuadamente el carácter codificado, no es problema de la basura se puede producir en el programa. Por ejemplo, la máquina es ahora codificación predeterminada es GBK, pero con el ISO8859-1 de codificación en el programa, el problema será ilegible caracteres. Como dos personas hablando, una persona dijo china, la otra persona habla Inglés, no puede comunicarse en diferentes idiomas. Para evitar la distorsión, el código del programa debe ser compatible con la codificación predeterminada local.

codificación predeterminada local se puede utilizar para ver la clase System. Sistema de clase en Java puede obtener información sobre el sistema, por lo que el uso directo de tales codificación por defecto se puede encontrar en el sistema. El método es el siguiente:

public static Properties getProperty()

Ver la codificación predeterminada JVM, el código es el siguiente:

public static void main(String[] args) {
    // 获取当前系统编码
    System.out.println("系统默认编码:" + System.getProperty("file.encoding"));
}

Los resultados son los siguientes:

系统默认编码:GBK

Como puede verse, ahora la codificación predeterminada del sistema operativo es GBK.

Ejemplo generación distorsión. Ahora codificación predeterminada local es GBK, junto a la conversión de codificación de texto por ISO8859-1 codificación. Para conseguir el método puede ser utilizado getBytes clase String conversión de codificación (String charset), este método se puede especificar mediante el establecimiento el formato de codificación del método son como sigue:

public byte[] getBytes(String charset);
示例代码如下: 
public class Test {
    public static void main(String[] args) throws Exception {
        File f = new File("D:" + File.separator + "test.txt");
        // 实例化输出流
        OutputStream out = new FileOutputStream(f);
        // 指定ISO8859-1编码
        byte b[] = "百度搜索引擎!".getBytes("ISO8859-1");
        // 保存转码之后的数据
        out.write(b);
        // 关闭输出流
        out.close();
    }
}

Los resultados son los siguientes:

Aquí Insertar imagen Descripción
Debido inconsistente de codificación, por lo ilegible cuando se guarda. En el desarrollo de Java, la basura es un problema relativamente común, la generación ilegible hay una razón que es inconsistente de codificación y la codificación de la salida de los contenidos del contenido recibido.

Publicados 457 artículos originales · ganado elogios 94 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_45743799/article/details/104709175
Recomendado
Clasificación