Java byte[] 轉C# byte[]


 

byte(C# 參考)

byte 關鍵字代表一種整型,該類型按下表所示存儲值:

 

類型

范圍

大小

.NET Framework 類型

byte

0 到 255

無符號 8 位整數

Byte

參考msdn: https://docs.microsoft.com/zh-cn/previous-versions/5bdb6693(v=vs.120)?redirectedfrom=MSDN

 

Java byte

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

介紹

byte,即字節,由8位的二進制組成。在Java中,byte類型的數據是8位帶符號的二進制數。

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

總結

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 。

 

示例:javabyte 轉 C# byte 。

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM