Conversor de Texto a Binario¿?

Iniciado por 1mpuls0, 26 Noviembre 2008, 03:25 AM

0 Miembros y 1 Visitante están viendo este tema.

1mpuls0

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!!
abc

carlitos.java

#1
Mira, aquí escribí uno:
Código (java) [Seleccionar]

    /**
     * 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.



1mpuls0

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
abc