2014-10-17 93 views
1

我有一個像"11100011"這樣的二進制字符串,我想將它轉換爲一個字節。我在有一個工作示例的Java象下面這樣:將二進制字符串解析爲JavaScript中的字節

byte b1 = (byte)Integer.parseInt("11100011", 2); 
System.out.println(b1); 

這裏輸出將-29。但是,如果我在JavaScript中編寫一些類似的代碼,如下所示:

parseInt('11100011', 2); 

我得到的輸出爲227

我應該寫什麼JavaScript代碼才能獲得與Java相同的輸出?

回答

3

Java將byte解釋爲一個帶符號的二進制補碼數,由於最高位爲1,因此爲負數。Javascript將其解釋爲無符號數,因此總是正數。

試試這個:

var b1 = parseInt('11100011', 2); 
if(b1 > 127) b1 -= 256; 
+0

謝謝你,它的工作 – Krushna 2014-10-17 18:05:48