Hola camaradas del foro, quiero saber si existe algun metodo ya creado en java(que dudo un poco) para hacer la conversion de un texto a binario
Ejemplo:
http://nickciske.com/tools/binary.php
http://www.roubaixinteractive.com/PlayGround/Binary_Conversion/Binary_To_Text.asp
http://www.geek-notes.com/tools/17/text-to-binary-translator/
Bueno espero y puedan ayudarme, y si tengo que crear el metodo me puedan guiar por que la verdad no tengo idea!!(aunque se un poco de matematicas discretas)
Saludos!!
Mira, aquí escribí uno:
/**
* Metodo que convierte un texto en salida binaria
* Escrito por Carlos
* @return Devuelve un String.
*/
public static String textoABinario(String texto)
{
String textoBinario = "";
for(char letra : texto.toCharArray())
{
textoBinario += String.format("%16s", Integer.toBinaryString(letra));
}
return textoBinario.replace("\u0020","\u0030");
}
Nota: coloqué %016d para que rellene con ceros hasta completar los 16 bits de los char que contienen los unicode. Si pusiera %08d rellenaría con 0 hasta completar 8 bit y la salida resultaría como la de los conversores web que enlazas, pero la salida binaria no quedaría múltipla de 8 al ingresar textos como: "a\u0FA0", pues algunos carácteres unicodes ocupan más de 8 bits.
Nota: el "\u0020" es el carácter espacio en unicode, y el "\u0030" es el "0".
Aquí tienes la tabla unicode: http://unicode.coeurlumiere.com/
Fíjate que hay varios tipos de guiones: http://www.cs.tut.fi/~jkorpela/dashes.html
y espacios: http://www.cs.tut.fi/~jkorpela/chars/spaces.html
Queda mejor todo al escribirlo con la notación unicode, sobre todo al trabajar con códigos entre distintos sistemas operativos.
Hola nuevamente gracias carlitos.java la verdad aprendi mas de lo que esperaba hoy, ademas que mi problema esta solucionado gracias! ahora solo tengo que separar por espacios entre cada caracter pero eso ya me corresponde!! en verdad muchas gracias!! ;)
Saludos