java - Analizzare una stringa binaria come byte in JavaScript
Ho una stringa binaria come "11100011" e voglio convertirla in un byte. Ho un esempio funzionante in Java come quello seguente:
byte b1 = (byte)Integer.parseInt("11100011", 2);
System.out.println(b1);
Qui l'output sarà -29. Ma se scrivo un codice simile in JavaScript come segue:
parseInt('11100011', 2);
Ottengo un output di 227.
Quale codice JavaScript dovrei scrivere per ottenere lo stesso output di Java?
Risposta n. 1
Java interpreta il byte come un numero con segno in complemento a due, che è negativo poiché il bit più alto è 1. Javascript lo interpreta come senza segno, quindi è sempre positivo.
Prova questo:
var b1 = parseInt('11100011', 2);
if(b1 > 127) b1 -= 256;
