En Java, las strings se convierten en una array de bytes, necesitamos un método getBytes (Charset) . Este método convierte la string dada en una secuencia de bytes utilizando el juego de caracteres dado y devuelve una array de bytes. Es una función predefinida de la clase de string. Aquí, en este método usamos una instancia de la clase Charset, esta clase proporciona un mapeo con nombre entre una secuencia de caracteres y una secuencia de bytes.
- US-ASCII: ASCII de siete bits, también conocido como ISO646-US, también conocido como el bloque latino básico del conjunto de caracteres Unicode
- ISO-8859-1: Alfabeto latino ISO n.° 1, también conocido como ISO-LATIN-1
- UTF-8: formato de transformación UCS de ocho bits
- UTF-16BE: formato de transformación UCS de dieciséis bits, orden de bytes big-endian
- UTF-16LE: formato de transformación UCS de dieciséis bits, orden de bytes little-endian
- UTF-16: formato de transformación UCS de dieciséis bits, orden de bytes identificado por una marca de orden de bytes opcional.
Sintaxis:
public byte[] getBytes(Charset charset)
Parámetro: esta función toma un argumento, que es el juego de caracteres que se usa para codificar la string
resultante
Nota:
- Este método siempre reemplaza la entrada con formato incorrecto y la secuencia de caracteres no asignables con la array de bytes de reemplazo predeterminada de su conjunto de caracteres.
- Si el juego de caracteres proporcionado no es un juego de caracteres válido, este método generará una excepción de codificación no admitida.
- La longitud de la array de bytes no es la misma que la string dada, depende de la codificación de caracteres.
Analicemos cómo convertir una string en una array de bytes con la ayuda de los ejemplos dados:
Ejemplo 1:
Java
// Java program to illustrate how to // convert a string to byte array // Using getBytes(Charset charset) import java.io.*; class GFG{ public static void main (String[] args) { // Initializing String String ss = "Hello GeeksforGeeks"; // Display the string before conversion System.out.println("String: " + ss); try { // Converting string to byte array // Using getBytes(Charset charset) method // Here, we converts into UTF-16 values byte[] res = ss.getBytes("UTF-16"); // Displaying converted string after conversion // into UTF-16 System.out.println("Result : "); for(int i = 0; i < res.length; i++) { System.out.print(res[i]); } } catch (UnsupportedEncodingException g) { System.out.println("Unsupported character set" + g); } } }
String: Hello GeeksforGeeks Result : -2-1072010101080108011103207101010101010701150102011101140710101010101070115
Ejemplo 2:
Java
// Java program to illustrate how to // convert a string to byte array // Using getBytes(Charset charset) import java.io.*; import java.util.Arrays; class GFG{ public static void main (String[] args) { // Initializing String String ss = "Hello GFG"; // Display the string before conversion System.out.println("String: " + ss); try { // Converting string to byte array // Using getBytes(Charset charset) method // Here, we converts into US-ASCII values byte[] res = ss.getBytes("US-ASCII"); // Displaying converted string after conversion // into US-ASCII System.out.println("Byte Array:" + Arrays.toString(res)); } catch (UnsupportedEncodingException g) { System.out.println("Unsupported character set" + g); } } }
String: Hello GFG Byte Array:[72, 101, 108, 108, 111, 32, 71, 70, 71]
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA