java中byte数据转换为c#的byte数据

      最近在做下载方面的开发。有一个需求,就是读取要下载的文件中的一些数据,比如要读取这个文件包含的用户信息,但是怎么读都不对。后来搞了很久才发现,服务器上的文件里的用户信息,用C#写的存储方法来存储的,而我在读取时的操作是用java写的,关键的一点是,c#中的byte范围是[0-255],java的是[-128,127],所以导致了我用byte[]数组读取数据时,如果那一位的数据超过127就会变成负数。

需要进行转换:

int data[] = new int[b.length];
        
        for(int i=0 ; i<b.length ; i++){
            
               data[i] = b[i] & 0xff;
               
            }

转换以后,就可以正常读取了。

原文地址:https://www.cnblogs.com/wangyuehome/p/3386536.html