也提供了一個byte數據類型,而且是基本類型。java byte是作爲最小的數字來處理的,所以它的值域被定義爲-128~127,
byte,即字節,由8位的二進制組成。在Java中,byte類型的數據是8位帶符號的二進制數。
在計算機中,8位帶符號二進制數的取值範圍是[-128, 127],因此在Java中,byte類型的取值範圍也是[-128, 127]。java
c#的byte邊界值爲:0~255,
java的byte邊界值爲:-128~127。 當byte >=0 && byte <127時, 兩邊是相等的。c#
因此:java的byte轉成C#可識別的byte時,若是byte<0, (byte+ 256) 即爲C#可識別的byte。( 列個方程:java +256= C# 則 java = C#-256。 若知足條件 java<0,java>=-128 ,即 ( C#-256 < 0 && C#-256 >= -128 )
C#的byte轉成java可識別的byte時,若是 byte >0 && byte<=127,可直接int轉byte 。若是 byte >=128 則 javabyte = value - 256 。code
byte javabit = -112; int bit = Convert.ToInt32(javabit); byte bt = new byte(); if (bit < 0) { var st = (bit + 256).ToString(); bt = byte.Parse(st); } else { bt = byte.Parse(bit.ToString()); } var st = Encoding.GetEncoding("UTF-8").GetString(bt);