tnblog
首页
视频
资源
登录
有个性,不需要签名
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

C#与Java二进制编码转换,补码

8143人阅读 2019/3/1 10:37 总访问:271012 评论:2 收藏:0 手机
分类: .NET


    在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;
        }


掉头发..


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价