我是靠谱客的博主 拉长未来,最近开发中收集的这篇文章主要介绍java byte 的各种转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

// 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 的各种转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部