概述
// byte[]与int转换
public static int byteArrayToInt(byte[] b) {
return b[3] & 0xFF |
(b[2] & 0xFF) << 8 |
(b[1] & 0xFF) << 16 |
(b[0] & 0xFF) << 24;
}
public static byte[] intToByteArray(int a) {
return new byte[] {
(byte) ((a >> 24) & 0xFF),
(byte) ((a >> 16) & 0xFF),
(byte) ((a >> 8) & 0xFF),
(byte) (a & 0xFF)
};
}
// byte[]与long转换
public static byte[] long2byte(long res) {
byte[] buffer = new byte[8];
for (int i = 0; i < 8; i++) {
int offset = 64 - (i + 1) * 8;
buffer[i] = (byte) ((res >> offset) & 0xff);
}
return buffer;
}
public static long byteArrayToLong(byte[] b){
long values = 0;
for (int i = 0; i < 8; i++) {
values <<= 8; values|= (b[i] & 0xff);
}
return values;
}
public static void transform(bytes[] bytes) {
System.out.println("2进制:" + binary(bytes, 2));
System.out.println("5进制:" + binary(bytes, 5));
System.out.println("8进制:" + binary(bytes, 8));
System.out.println("16进制:" + binary(bytes, 16));
System.out.println("32进制:" + binary(bytes, 32));
System.out.println("64进制:" + binary(bytes, 64));// 这个已经超出范围,超出范围后变为10进制显示
}
/**
* 将byte[]转为各种进制的字符串
* @param bytes byte[]
* @param radix 基数可以转换进制的范围,从Character.MIN_RADIX到Character.MAX_RADIX,超出范围后变为10进制
* @return 转换后的字符串
*/
public static String binary(byte[] bytes, int radix){
return new BigInteger(1, bytes).toString(radix);// 这里的1代表正数
}
最后
以上就是拉长未来为你收集整理的java byte 的各种转换的全部内容,希望文章能够帮你解决java byte 的各种转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复