天天看點

java的byte和C#的byte的不同之處

Java byte

也提供了一個byte資料類型,并且是基本類型。java byte是做為最小的數字來處理的,是以它的值域被定義為-128~127,

byte,即位元組,由8位的二進制組成。在Java中,byte類型的資料是8位帶符号的二進制數。

在計算機中,8位帶符号二進制數的取值範圍是[-128, 127],是以在Java中,byte類型的取值範圍也是[-128, 127]。

C# byte

c#的byte邊界值為:0~255,

java的byte邊界值為:-128~127。 當byte >=0 && byte <127時, 兩邊是相等的。

是以: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 。

寫個轉換器

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);
           

作者:倉儲大叔,張占嶺,

榮譽:微軟MVP

QQ:853066980

支付寶掃一掃,為大叔打賞!

java的byte和C#的byte的不同之處