为了账号安全,请及时绑定邮箱和手机立即绑定

java(基本类型或者String字符串)与(字节数组)相互转换

标签:
Java
public class ByteConvert {
/**
 * 整型转化为字节数组
 * @param id
 * @return
 */
    public byte[] int2Byte(int id){
        byte[] arr=new byte[4];
        for(int i=0;i<4;i++){
            arr[i]=(byte)((id>>i*8)&0xff);
        }
        return arr;
    }
    /*
     * 字节数组转化为整型
     */
    public int byte2Int(byte[] arr){
        int count=0;
        for(int i=0;i<4;i++){
            int add=(int)((arr[i]&0xff)<<(i*8));
            count+=add;
        }
        return count;
    }

    //long型转化为byte[]
    public byte[] long2Byte(long id){
        byte[] arr=new byte[8];
        for(int i=0;i<arr.length;i++){
            arr[i]=(byte)((id>>i*8)&0xff);
        }
        return arr;
    }

    //byte[]转化为long
    public long byte2long(byte[] arr){
        long result=0;
        for(int i=0;i<arr.length;i++){
            long add=(long)((arr[i]&0xff)<<i*8);
            result+=add;
        }
        return result;
    }

    public static void main(String[] args) {
        ByteConvert bc=new ByteConvert();

        //int转化为byte[]
        byte[] arr=bc.int2Byte(8143);
        for(byte one:arr){
            System.out.println(one);
        }

        //测试从字节数组转化为整型
        System.out.println(bc.byte2Int(arr));

        //long转化为byte[]
        byte[] arr2=bc.long2Byte(8143);
        for(byte one:arr2){
            System.out.println(one);
        }

        //byte[]转化为long
        System.out.println(bc.byte2long(arr2));

        //String转化为byte[]
        String str="我是lcc";
        byte[] arr3=str.getBytes();
        //byte[]转化为String
        String str2=new String(arr3);
        System.out.println(str2);

    }

运行结果:
-49
31
0
0
8143
-49
31
0
0
0
0
0
0
8143
我是lcc

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消