zoukankan      html  css  js  c++  java
  • 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();
    }
    }

  • 相关阅读:
    C++ 二元作用域运算符(::)
    C 桶排序
    C 递归的选择排序
    C 归并算法
    C 可变长实参列表
    C条件编译的一些例子
    C实现将中缀算术式转换成后缀表达式
    Activiti6-数据库配置-dbconfig(学习笔记)
    idea在Terminal中使用maven指令
    Spring Boot的web开发
  • 原文地址:https://www.cnblogs.com/cpcpc/p/2167889.html
Copyright © 2011-2022 走看看