java中bitconverter_【Java】BitConverter(数字转字节数组工具类)

这是一个Java工具类,用于将各种数据类型(如布尔值、16位整数、Unicode字符、32位和64位整数、浮点数和字符串)转换为字节数组。该类还提供了从字节数组还原这些数据类型的反向转换方法,支持大端和小端字节序。
摘要由CSDN通过智能技术生成

import java.nio.ByteOrder;

import java.nio.charset.Charset;

/**

* 数字转字节数组工具类

*/

public class BitConverter {

/**

* 以字节数组的形式返回指定的布尔值

* @param data 一个布尔值

* @return 长度为 1 的字节数组

*/

public static byte[] getBytes(boolean data) {

byte[] bytes = new byte[1];

bytes[0] = (byte) (data ? 1 : 0);

return bytes;

}

/**

* 以字节数组的形式返回指定的 16 位有符号整数值

* @param data 要转换的数字

* @return 长度为 2 的字节数组

*/

public static byte[] getBytes(short data) {

byte[] bytes = new byte[2];

if (isLittleEndian()) {

bytes[0] = (byte) (data & 0xff);

bytes[1] = (byte) ((data & 0xff00) >> 8);

} else {

bytes[1] = (byte) (data & 0xff);

bytes[0] = (byte) ((data & 0xff00) >> 8);

}

return bytes;

}

/**

* 以字节数组的形式返回指定的 Unicode 字符值

* @param data 要转换的字符

* @return 长度为 2 的字节数组

*/

public static byte[] getBytes(char data) {

byte[] bytes = new byte[2];

if (isLittleEndian()) {

bytes[0] = (byte) (data);

bytes[1] = (byte) (data >> 8);

} else {

bytes[1] = (byte) (data);

bytes[0] = (byte) (data >> 8);

}

return bytes;

}

/**

* 以字节数组的形式返回指定的 32 位有符号整数值

* @param data 要转换的数字

* @return 长度为 4 的字节数组

*/

public static byte[] getBytes(int data) {

byte[] bytes = new byte[4];

if (isLittleEndian()) {

bytes[0] = (byte) (data & 0xff);

bytes[1] = (byte) ((data & 0xff00) >> 8);

bytes[2] = (byte) ((data & 0xff0000) >> 16);

bytes[3] = (byte) ((data & 0xff000000) >> 24);

} else {

bytes[3] = (byte) (data & 0xff);

bytes[2] = (byte) ((data & 0xff00) >> 8);

bytes[1] = (byte) ((data & 0xff0000) >> 16);

bytes[0] = (byte) ((data & 0xff000000) >> 24);

}

return bytes;

}

/**

* 以字节数组的形式返回指定的 64 位有符号整数值

* @param data 要转换的数字

* @return 长度为 8 的字节数组

*/

public

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值