java - Analizar cadena binaria como byte en JavaScript
Tengo una cadena binaria como "11100011" y quiero convertirla en un byte. Tengo un ejemplo que funciona en Java como el siguiente:
byte b1 = (byte)Integer.parseInt("11100011", 2);
System.out.println(b1);
Aquí la salida será -29. Pero si escribo un código similar en JavaScript como el siguiente:
parseInt('11100011', 2);
Obtengo un resultado de 227.
¿Qué código de JavaScript debería escribir para obtener la misma salida que Java?
Respuesta #1
Java está interpretando el byte como un número con signo en complemento a dos, que es negativo ya que el bit más alto es 1. Javascript lo está interpretando como sin signo, por lo que siempre es positivo.
Prueba esto:
var b1 = parseInt('11100011', 2);
if(b1 > 127) b1 -= 256;
