c#中的BitConverter的java实现
创始人
2024-11-11 18:06:54
0

最近在做c#项目的java迁移,发现部分C#方法java中没有对应实现如图:

且java中的数字类型都是有符号的所以转无符号的时候需要进行手动对符号位& 0xFFFF进行处理,目前只整理了项目中使用到的方法,后续有用到其他方法在进行追加如下:

public class BitConverterUtil {     /**      * 将字节数组中的两个字节(从指定的索引位置开始)转换为无符号的16位整数。      *      * @param array 包含要转换的字节的数组      * @param index 数组中要开始转换的字节的索引位置      * @return 转换后的无符号16位整数      * @throws IndexOutOfBoundsException 如果index小于0或者index+2大于array的长度      */     public static int ToUInt16(byte[] array, int index) {         return ByteBuffer.wrap(array, index, 2)                 .order(ByteOrder.LITTLE_ENDIAN)                 .getShort() & 0xFFFF;     }      /**      * 将字节数组中的两个字节转换为有符号的16位整数(short)。      *      * @param array 包含要转换的字节的数组      * @param index 数组中要开始转换的字节的索引位置      * @return 转换后的有符号16位整数(short)      * @throws IndexOutOfBoundsException 如果索引位置小于0或大于等于数组长度减去1(因为需要两个字节)      */     public static short ToInt16(byte[] array, int index) {         return ByteBuffer.wrap(array, index, 2)                 .order(ByteOrder.LITTLE_ENDIAN)                 .getShort();     }      /**      * 将字节数组中的四个字节(从指定的索引位置开始)转换为无符号的32位整数(Long类型)。      *      * @param array 包含要转换的字节的数组      * @param index 数组中要开始转换的字节的索引位置      * @return 转换后的无符号32位整数(Long类型),范围为0到4294967295(即2^32-1)      * @throws IndexOutOfBoundsException 如果索引位置小于0或者索引位置加上4(表示要读取的字节数)大于数组长度      */     public static Long ToUInt32(byte[] array, int index) {         return ByteBuffer.wrap(array, index, 4)                 .order(ByteOrder.LITTLE_ENDIAN)                 .getInt() & 0xFFFFFFFFL;     }      /**      * 将给定字节数组从指定索引位置开始的四个字节转换为一个32位整数。      *      * @param array 包含要转换的字节的数组      * @param index 数组中要开始转换的字节的索引位置      * @return 转换后的32位整数      * @throws IndexOutOfBoundsException 如果索引位置小于0或索引位置加4超过数组长度      */     public static int ToInt32(byte[] array, int index) {         return ByteBuffer.wrap(array, index, 4)                 .order(ByteOrder.LITTLE_ENDIAN)                 .getInt();     } }

再此记录一下,以备不时之需。

相关内容

热门资讯

围绕透视问题!wepoker透... 您好,丰城呱呱辅助器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家...
必看攻略!熊猫透视辅助软件(辅... 必看攻略!熊猫透视辅助软件(辅助挂)开挂透视辅助插件(其实有挂)-哔哩哔哩1、进入到熊猫透视辅助软件...
今天下午!杭州都莱辅助器,衢州... 今天下午!杭州都莱辅助器,衢州都莱辅助器,2025新版教程(一直是有挂)-哔哩哔哩1)衢州都莱辅助器...
科技通报!拱趴大菠萝辅助神器(... 科技通报!拱趴大菠萝辅助神器(辅助挂)开挂透视辅助软件(其实是真的挂)-哔哩哔哩1、完成拱趴大菠萝辅...
透视软件!wepoker手机版... 透视软件!wepoker手机版辅助,微信小程序哥哥打大a辅助器,真是是有挂(专业必胜教程)-哔哩哔哩...
现就发布提示!福建十三水软件开... 现就发布提示!福建十三水软件开发,新卡农辅助软件,德州教程(都是存在有挂)-哔哩哔哩1、打开软件启动...
热点推荐!雀神麻雀科技公司(辅... 热点推荐!雀神麻雀科技公司(辅助挂)开挂透视辅助教程(都是真的是有挂)-哔哩哔哩1、下载好雀神麻雀科...
现有关情况通报如下!wepok... 现有关情况通报如下!wepoker透视脚本视频,悟空大厅免费辅助器,都是是有挂(详细2025新版教程...
事发当天!吉祥填大坑机制原理,... 事发当天!吉祥填大坑机制原理,yy比鸡脚本,揭秘攻略(果然真的有挂)-哔哩哔哩1、吉祥填大坑机制原理...
总算明白!新蛮王辅助器(辅助挂... 总算明白!新蛮王辅助器(辅助挂)开挂透视辅助技巧(本来存在有挂)-哔哩哔哩1、不需要AI权限,帮助你...