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();     } }

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

相关内容

热门资讯

透视有挂(wPK)微扑克全自动... 透视有挂(wPK)微扑克全自动机器人(透视)详细辅助微扑克教程(一直有挂)1、下载好微扑克全自动机器...
透视最新(AAPoKER)aa... 透视最新(AAPoKER)aapoker猫腻(透视)一直有挂(详细辅助教你教程);1、游戏颠覆性的策...
透视苹果版!德扑ai智能机器人... 透视苹果版!德扑ai智能机器人,(德州之星)切实存在有挂(详细辅助wpk教程);暗藏猫腻,小编详细说...
透视实锤(wpK)wpk德州透... 透视实锤(wpK)wpk德州透视辅助(透视)详细辅助黑科技教程(总是有挂)在进入wpk德州透视辅助辅...
透视辅助(aapOKER)aa... 透视辅助(aapOKER)aapoker有外挂(透视)原来真的有挂(详细辅助透明挂教程);1、许多玩...
透视存在!德扑数据软件,(来玩... 透视存在!德扑数据软件,(来玩德州)果然是真的有挂(详细辅助攻略教程)1、许多玩家不知道德扑数据软件...
透视教学(Wpk)wpk有透视... 透视教学(Wpk)wpk有透视辅助(透视)详细辅助详细教程(一直是有挂)1、构建自己的wpk有透视辅...
透视规律(AAPOKEr)aa... 透视规律(AAPOKEr)aapoker辅助工具存在(透视)一贯有挂(详细辅助安装教程)1、aapo...
透视总结(微扑克)微扑克wpk... 透视总结(微扑克)微扑克wpk透视辅助(透视)详细辅助安装教程(本来真的有挂)微扑克wpk透视辅助辅...
透视神器!德州微扑克辅助,(线... 透视神器!德州微扑克辅助,(线上德州)本来是有挂(详细辅助必备教程)1、该软件可以轻松地帮助玩家将德...