Mira, aquí escribí uno:
/**
* Metodo que convierte un texto en salida binaria
* Escrito por Carlos
* @return Devuelve un String.
*/
{
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.htmly espacios:
http://www.cs.tut.fi/~jkorpela/chars/spaces.htmlQueda mejor todo al escribirlo con la notación unicode, sobre todo al trabajar con códigos entre distintos sistemas operativos.