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

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

相关内容

热门资讯

每日必看教程!微乐小程序黑科技... 每日必看教程!微乐小程序黑科技免费(辅助器),微信小程序怎么开挂(有辅助挂教学)1、让任何用户在无需...
今日公布!微乐小程序免费黑科技... 今日公布!微乐小程序免费黑科技(透视器),微信小程序微乐辅助器教程图片(有辅助挂辅教程)1、完成微乐...
安装程序教程!微乐小程序辅助工... 安装程序教程!微乐小程序辅助工具(透视器),微乐小程序黑科技辅助工具2026最新推荐(证实有辅助挂)...
我来教大家!微乐小程序黑科技免... 我来教大家!微乐小程序黑科技免费(辅助),微信小程序微乐安徽辅助苹果(确实有辅助挂)1)微乐小程序黑...
热点推荐!微乐小程序黑科技免费... 热点推荐!微乐小程序黑科技免费(辅助),微信小程序透视微乐(竟然有辅助挂)1、微乐小程序黑科技免费破...
揭秘几款!微乐小程序免费黑科技... 揭秘几款!微乐小程序免费黑科技(辅助),微信微乐陕西小程序破解器(有辅助挂辅助)揭秘几款!微乐小程序...
重大通报!微乐小程序免费黑科技... 重大通报!微乐小程序免费黑科技(辅助),微乐游戏辅助脚本安装(有辅助挂辅助)1、每一步都需要思考,不...
玩家交流!微乐小程序免费黑科技... 玩家交流!微乐小程序免费黑科技(作弊器),微乐家乡官方app下载(有辅助挂辅教程)1)微乐小程序免费...
教程攻略!微乐小程序黑科技免费... 教程攻略!微乐小程序黑科技免费(开挂),微乐小程序游戏破解器下载(有辅助挂方式)1、不需要AI权限,...
终于清楚!微乐小程序黑科技免费... 终于清楚!微乐小程序黑科技免费(作弊器),微乐小程序辅助教程(有辅助挂秘籍)1、用户打开应用后不用登...