aiaiask.com©

开花即结果 提问即答案

已知有一个byte[]数组里面分别按顺序存储了int,String,Long三个数据,编写代码读取过程分别输出这三个数据的值。
原始问题:

已知有一个byte[]数组里面分别按顺序存储了int,String,Long三个数据,编写代码读取过程分别输出这三个数据的值。

首先,我们需要将byte[]数组中的数据分别转换为int、String和Long类型。然后,我们可以按照顺序输出这三个数据的值。以下是解析和代码:

解析:

  1. 创建一个byte[]数组,用于存储int、String和Long类型的数据。
  2. 将数据分别存储在数组中。
  3. 使用ByteBuffer将byte[]数组转换为相应的数据类型。
  4. 按照顺序输出这三个数据的值。

代码:

import java.nio.ByteBuffer;
import java.nio.charset.Charset;

public class Main {
    public static void main(String[] args) {
        // 创建一个byte[]数组,用于存储int、String和Long类型的数据
        byte[] data = new byte[]{0, 0, 0, 4, 72, 101, 108, 108, 111, 0, 0, 0, 0, 0, 0, 0};

        // 将数据分别存储在数组中
        int intValue = ByteBuffer.wrap(data).getInt();
        String stringValue = Charset.forName("UTF-8").decode(ByteBuffer.wrap(data, 4, data.length - 4)).toString();
        long longValue = ByteBuffer.wrap(data, 4 + stringValue.length(), data.length - (4 + stringValue.length())).getLong();

        // 按照顺序输出这三个数据的值
        System.out.println("int值: " + intValue);
        System.out.println("String值: " + stringValue);
        System.out.println("Long值: " + longValue);
    }
}
已知有一个byte[]数组里面分别按顺序存储了int,String,Long三个数据,编写代码读取过程分别输出这三个数据的值。
AI / 模型Siliconflow
时间 / DATESeptember 13, 2023, 7:25 PM
语言zh-CN
IP / 区域北京市北京市