English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Java control de flujo

Java array

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Queue (cola)

Java Map colección

Java Set colección

Java entrada/salida (I)/O)

Reader de Java/Writer

Temas de Java

Uso y ejemplo del método getBytes() de String en Java

Java String (Cadena) 方法

El método getBytes() de String en Java codifica la cadena en una secuencia de bytes y la almacena en un array de bytes.

La sintaxis del método getBytes() es:

string.getBytes()
string.getBytes(Charset charset)
string.getBytes(String charsetName)

El método getBytes() devuelve un array de bytes.

1.getBytes() sin parámetros

Si no se pasa ningún parámetro, getBytes() utiliza la codificación de carácter predeterminada de la plataforma para codificar la cadena.

Ejemplo: getBytes() sin parámetros

import java.util.Arrays;
class Main {
  public static void main(String[] args) {
    String str = "Java";
    byte[] byteArray;
    //Convertir la cadena a un array de bytes
    //Usar la codificación de carácter predeterminada de la plataforma
    byteArray = str.getBytes();
    System.out.println(Arrays.toString(byteArray));
  }
}

输出结果

[74, 97, 118, 97]

注意:En el ejemplo anterior, usamos la clase Arrays para imprimir el array de bytes de manera legible. No tiene nada que ver con getBytes().

2.getBytes() con parámetros de CharSet

Estos son otros métodos disponibles en CharsetJava:

  • UTF-8 - Formato de conversión UCS de 8 bits

  • UTF-16 - Formato de conversión UCS de 16 bits

  • UTF-16BE - Formato de conversión UCS de 16 bits, orden de bytes de granos

  • UTF-16LE - Formato de conversión UCS de 16 bits, orden de bytes de pie

  • US-ASCII - ASCII de 7 bits

  • ISO-8859-1 - ISO latín1Número

Ejemplo: getBytes() con parámetros de CharSet

import java.util.Arrays;
import java.nio.charset.Charset;
class Main {
  public static void main(String[] args) {
    String str = "Java";
    byte[] byteArray;
    //Usar UTF-8Codificación
    byteArray = str.getBytes(Charset.forName("UTF-8"));
    System.out.println(Arrays.toString(byteArray));
    //Usar UTF-16Codificación
    byteArray = str.getBytes(Charset.forName("UTF-16"));
    System.out.println(Arrays.toString(byteArray));
  }
}

输出结果

[74, 97, 118, 97]
[-2, -1, 0, 74, 0, 97, 0, 118, 0, 97]

注意:En el programa anterior, hemos importado java.nio.charset.Charset para usar Charset. Y ya hemos importado la clase Arrays para imprimir el array de bytes de manera legible.

3.getBytes() con parámetros de cadena

También se puede usar una cadena para especificar el tipo de codificación de getBytes(). Al usar getBytes() de esta manera, debe envolver el código enEn el bloque try ... catch.

Ejemplo: getBytes() con parámetros de cadena

import java.util.Arrays;
class Main {
  public static void main(String[] args) {
    String str = "Java";
    byte[] byteArray;
    try {
      byteArray = str.getBytes("UTF-8");
      System.out.println(Arrays.toString(byteArray));
      byteArray = str.getBytes("UTF-16");
      System.out.println(Arrays.toString(byteArray));
            //错误的编码
            //抛出异常
      byteArray = str.getBytes("UTF-34");
      System.out.println(Arrays.toString(byteArray));
    }) catch (Exception e) {
      System.out.println(e + "encoding is wrong");
    }
  }
}

输出结果

[74, 97, 118, 97]
[-2, -1, 0, 74, 0, 97, 0, 118, 0, 97]
java.io.UnsupportedEncodingException: UTF-34 encoding is wrong

注意:Hemos importado java.util.数组以可读形式打印字节数组。它与getBytes()无关。

Java String (Cadena) 方法