• java中byte数组与int类型的转换(两种方式)


    java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送、者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把一个长度为4的byte数组转换为int类型。下面有两种方式。

    public static byte[] int2byte(int res) {
    byte[] targets = new byte[4];

    targets[
    0] = (byte) (res & 0xff);// 最低位
    targets[1] = (byte) ((res >> 8) & 0xff);// 次低位
    targets[2] = (byte) ((res >> 16) & 0xff);// 次高位
    targets[3] = (byte) (res >>> 24);// 最高位,无符号右移。
    return targets;
    }
    public static void main(String[] args) {  
    ByteArrayOutputStream baos
    = new ByteArrayOutputStream();
    DataOutputStream dos
    = new DataOutputStream(baos);
    try {
    dos.writeByte(
    4);
    dos.writeByte(
    1);
    dos.writeByte(
    1);
    dos.writeShort(
    217);
    }
    catch (IOException e) {
    e.printStackTrace();
    }

    byte[] aa = baos.toByteArray();
    ByteArrayInputStream bais
    = new ByteArrayInputStream(baos.toByteArray());
    DataInputStream dis
    = new DataInputStream(bais);

    try {
    System.
    out.println(dis.readByte());
    System.
    out.println(dis.readByte());
    System.
    out.println(dis.readByte());
    System.
    out.println(dis.readShort());
    }
    catch (IOException e) {
    e.printStackTrace();
    }
    try {
    dos.close();
    dis.close();
    }
    catch (IOException e) {
    e.printStackTrace();
    }
    }

  • 相关阅读:
    Battle ships(二分图,建图,好题)
    棋盘游戏(二分图,删边)
    Girls' research(manacher)
    jenkins配置发送测试结果邮件
    Win10电脑如何更改开机启动项
    Ubuntu 18.04 固定pycharm图标固定到启动栏
    ubuntu下Fiddler抓包
    一个数据去重sql
    JENKINS针对不同项目组对用户进行权限分配
    jenkins添加用户
  • 原文地址:https://www.cnblogs.com/cpcpc/p/2167889.html
Copyright © 2020-2023  润新知