Anuncios

Bienvenidos sean a este post, hoy hablaremos sobre uno de los metodos para la clase String.

Anuncios

Este metodo permite convertir una cadena en un nuevo array de bytes en base al conjunto de caracteres (charset) informados, en caso de no informar ninguno se utilizar el charset predeterminado del sistema, ante un error el metodo lanza una excepcion del tipo UnsupportedEncodingException, veamos su sintaxis:

variable.getBytes([charset]);
Anuncios

Para entender el concepto vamos a realizar el siguiente ejemplo:

bytes.java

import java.io.*;

public class bytes
{

public static void main(String[] args)
{
	String cdn1 = new String("Gran año para estudiar en tinchicus.com");
	try
	{
		String cdn2 = new String(cdn1.getBytes("utf-8"));
		System.out.println("Valor devuelto " + cdn2);
		cdn2 = new String(cdn1.getBytes("ISO-8859-1"));
		System.out.println("Valor devuelto " + cdn2);
                cdn2 = new String(cdn1.getBytes());
                System.out.println("Valor devuelto " + cdn2);
                cdn2 = new String(cdn1.getBytes("tinchicus"));
                System.out.println("Valor devuelto " + cdn2);
	}
	catch ( UnsupportedEncodingException e )
	{
		System.out.println("Charset no soportado");
	}
}

}
Anuncios
Anuncios

En este ejemplo primero importaremos todos los paquetes relacionados a la clase io para poder manejar las excepciones que veremos en el mismo, dentro del main nuestro primer paso sera crear una variable de tipo String donde almacenaremos un texto, es de ejemplo y pueden usar otro, pero lo bueno de este es que podremos ver las diferencias de los charset, luego usaremos un modulo try/catch para capturar la excepcion que nos puede devolver el metodo, si quieren saber mas sobre estos metodos les recomiendo este post, en el bloque del try tenemos a nuestro programa en si, donde crearemos una nueva variable llamada cdn2 tambien de tipo String, en esta crearemos un nuevo objeto donde tomaremos el valor de cdn1 y lo convertiremos por medio del metodo getBytes y le pasamos el charset utf-8, la siguiente linea mostramos el valor actual de cdn2, despues de esto volvemos a modificar el valor de cdn2 pero esta vez usamos el charset ISO-8859-1 para mostrar el nuevo valor obtenido, volvemos a repetir la operacion de cambiar el valor de cdn2 pero esta vez sin pasar un charset para que utilice el predeterminado y por ultimo hacemos lo mismo pero con un charset inexistente, con esto tenemos el bloque del try completo veamos el de catch, observen que le pasamos la excepcion que nos devuelve el metodo y en caso de interceptarla nos mostrara ese mensaje en pantalla, compilemos y veamos su salida:

tinchicus@dbn001vrt:~/lenguajes/java$ java bytes 
Valor devuelto Gran año para estudiar en tinchicus.com
Valor devuelto Gran a�o para estudiar en tinchicus.com
Valor devuelto Gran año para estudiar en tinchicus.com
Charset no soportado
tinchicus@dbn001vrt:~/lenguajes/java$
Anuncios

Podemos ver como en la primer salida nos devolvio todo el mensaje correctamente pero en el segundo caso al no contener el caracter para la ñ nos devolvio un signo de interrogacion, en el tercer caso funciono correctamente porque se adecuo al configurado en el sistema y por ultimo la excepcion al pasar un charset inexistente.

Anuncios

En resumen, hoy hemos visto a getBytes, que es, para que sirve, como trabaja, para que se usa, como nos ayuda y un ejemplo simple y practico para verlo en accion, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.00