C#与Java二进制编码转换,补码
电脑版发表于:2019/3/1 10:37
在C#与Java接口对接时,需要将图片转化为二进制编码传输,这时候发现c#转换出来的编码的值是0~255的范围,而java方需要的是-128~127的编码范围,需要把编码做一个转换
byte的范围是0-255,sbyte的范围是-128~127,实际上就是把byte转换为sbyte
//emmm... 这句话和下面那个循环 效果一样 sbyte[] sbyt = Array.ConvertAll(bytes, s => (sbyte)s); ∧ || || ∨ public sbyte[] ToJavaBytes(byte[] bytes) { int l = bytes.Length; sbyte[] sbytes = new sbyte[l]; for (int i = 0; i < l; i++) { var b = bytes[i]; if (b > 127) sbytes[i] = (sbyte)(b - 256); else sbytes[i] = (sbyte)b; } return sbytes; }
掉头发..