Lanselot tiene razon, un caracter un byte.
Lo de los sockets era para poner en contexto y porque tengo un lío que no veas con los streams y los buffers.
Pero ahora con la ayuda de un amigo he resuelto la parte I/O (he pasado de usar el objeto socket a usar el objeto socketchannel y un bytebuffer), pero aún tengo dudas de como formar la trama de datos que quiero enviar.
Por ejemplo... como puedo enviar la palabra "hola" sin que java convierta cada caracter a UNicode evitando asi que cada caracter ocupe el doble?
De momento estoy haciendo esto pero no se si es correcto:
Código:
String aux = new String("HOLA");
try
{
this.start = aux.getBytes("UTF-8");
}
catch( Exception e){}
System.out.println( "Numero de bytes : " + this.start.length );
Esto me retorna 4, que si entiendo bien significa que obtengo lo que deseo, un caracter un byte... no?
PD: Por otra parte he leido que la JVM trata los bytes como 32bits y no como 8bit... pensando que luego debo leer estas tramas desde otro programa (no escrito en java) puede darme algun problema el uso de este tipo de dato??