Java Program to Convert byte[] to int and int to byte[]

In this section, we will show you how to convert byte[] to int and int to byte[] using ByteBuffer.

int to byte[]

int num = 1;
// int need 4 bytes, default ByteOrder.BIG_ENDIAN
byte[] result = ByteBuffer.allocate(4).putInt(num).array();


byte[] to int 

byte[] bytes = new byte[] {0, 00, 00, 01};
int num = ByteBuffer.wrap(bytes).getInt();

1. int to byte[]

This Java example converts an int into a byte array and prints it in hex format.

public class Main {

public static void main(String[] args) {

int num = 1;
byte[] result = convertIntToByteArray(num);

System.out.println("Input : "
+ num);
System.out.println("Byte Array (Hex) : "
+ convertBytesToHex(result));

}

// method 1, int need 4 bytes,
// default ByteOrder.BIG_ENDIAN
public static byte[] convertIntToByteArray(int value) {
return ByteBuffer.allocate(4)
.putInt(value).array();
}

// method 2, bitwise right shift
public static byte[] convertIntToByteArray2(int value) {
return new byte[] {
(byte)(value >> 24),
(byte)(value >> 16),
(byte)(value >> 8),
(byte)value };
}

public static String convertBytesToHex(byte[] bytes) {
StringBuilder result = new StringBuilder();
for (byte temp : bytes) {
result.append(String.format("%02x", temp));
}
return result.toString();
}

}

Console Output:
Input            : 1
Byte Array (Hex) : 00000001

2. byte[] to int

import java.nio.ByteBuffer;

public class Main {

public static void main(String[] args) {

// byte = -128 to 127
byte[] byteArray = new byte[] {00, 00, 00, 01};

int result = convertByteArrayToInt2(byteArray);

System.out.println("Byte Array (Hex) : "
+ convertBytesToHex(byteArray));
System.out.println("Result : "
+ result);

}

// method 1
public static int convertByteArrayToInt(byte[] bytes) {
return ByteBuffer.wrap(bytes).getInt();
}

// method 2, bitwise again, 0xff for sign extension
public static int convertByteArrayToInt2(byte[] bytes) {
return ((bytes[0] & 0xFF) << 24) |
((bytes[1] & 0xFF) << 16) |
((bytes[2] & 0xFF) << 8) |
((bytes[3] & 0xFF) << 0);
}

public static String convertBytesToHex(byte[] bytes) {
StringBuilder result = new StringBuilder();
for (byte temp : bytes) {
result.append(String.format("%02x", temp));
}
return result.toString();
}

}

Console Output:
Byte Array (Hex) : 00000001
Result           : 1

More...

Popular posts from this blog

Learn Java 8 streams with an example - print odd/even numbers from Array and List

Java Stream API - How to convert List of objects to another List of objects using Java streams?

Registration and Login with Spring Boot + Spring Security + Thymeleaf

Java, Spring Boot Mini Project - Library Management System - Download

ReactJS, Spring Boot JWT Authentication Example

Top 5 Java ORM tools - 2024

Java - Blowfish Encryption and decryption Example

Spring boot video streaming example-HTML5

Google Cloud Storage + Spring Boot - File Upload, Download, and Delete