Buenas, tengo este codigo que debería recibir un String de un carácter y retornar un String con los bytes del código, el problema es que al enviar algunos String, en casi todos funciona correctamente y devuelve un String de 8 caracteres de 0 y 1, pero con algunos símbolos devuelve un String de 16 Caracteres de 0 y 1
Código:
public static String AsciiToBinary(String asciiString){
byte[] bytes = asciiString.getBytes();
StringBuilder binary = new StringBuilder();
for (byte b : bytes)
{
int val = b;
for (int i = 0; i < 8; i++)
{
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
}
return binary.toString();
}
Por ejemplo si le envio : ªØ(
me Devuelve :
Código:
1100001010101010
1100001110011000
00101000
Los 2 primeros términos son String de 16 caracteres
Ademas el código Correcto que debería devolver es:
Código:
10101010
10011000
00101000
Si Alguien sabe el problema o tiene un Codigo para transformar de ASCII to bytes, se lo agradecería mucho.
Atte.