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

380 阅读1分钟

Java byte

也提供了一个byte数据类型,并且是基本类型。java byte是做为最小的数字来处理的,因此它的值域被定义为-128~127, byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。 在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。 C# byte

c#的byte边界值为:0255, java的byte边界值为:-128127。 当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,可直接intbyte 。如果 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);

只要一步一个脚印,水滴石穿,吃透、搞懂、拿捏住是完全没有问题的!看到这里的都是妥妥的铁粉无疑了,底下是微信,找到的可是有大把源码,学习路线思维导图啥的,多的我就不透露,539413949看大家自己的积极性了啊,热爱所热爱的,学习伴随终生