Chuyển đổi Các Kiểu Dữ Liệu Nguyên Thủy Trong Java
Có thể bạn quan tâm
Trong bài này, chúng ta sẽ tìm hiểu một số phương pháp chuyển đổi các kiểu dữ liều nguyên thủy, từ int -> byte, byte->int, từ int[] -> byte[], byte[]->int[].
1.Chuyển đổi từ mảng byte[] sang kiểu int
Cách 1
/**
* Convert the byte array to an int.
* @param b The byte array
* @return The integer
*/
public static int byteArrayToInt(byte[] b) {
return byteArrayToInt(b, 0);
}
/**
* Convert the byte array to an int starting from the given offset.
* @param b The byte array
* @param offset The array offset
* @return The integer
*/
public static int byteArrayToInt(byte[] b, int offset) {
int value = 0;
for (int i = 0; i < 4; i++) {
int shift = (4 – 1 – i) * 8;
value += (b[i + offset] & 0x000000FF) << shift;
}
return value;
}
Cách 2
private static int convertByteArrayToInt(byte[] bytes) { return (bytes[0] << 32) | (bytes[1] << 24) | (bytes[2] << 16) | (bytes[3] <<8) | bytes[4]; }
2.Chuyển đổi từ kiểu int sang mảng byte[]
Cách 1
public static byte[] intToByteArray(int value) {
byte[] b = new byte[4];
for (int i = 0; i < 4; i++) {
int offset = (b.length – 1 – i) * 8;
b[i] = (byte) ((value >>> offset) & 0xFF);
}
return b;
}
Cách 2
public static byte[] convertIntToByteArray(int integer) { byte[] bytes = new byte[4]; bytes[0] =(byte)( integer >> 24 ); bytes[1] =(byte)( (integer << 8) >> 24 ); bytes[2] =(byte)( (integer << 16) >> 24 ); bytes[3] =(byte)( (integer << 24) >> 24 ); return bytes; }
3.Chuyển đổi từ mảng int[] sang mảng byte[]
Cách 1:
private byte[] intToBytes(int[] values) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
for (int i = 0; i < values.length; ++i) {
try {
dos.writeInt(values[i]);
} catch (IOException ex) {
ex.printStackTrace();
}
}
return baos.toByteArray();
}
Cách 2:
private static byte[] convertIntArrayToByteArray(int[] integers) { byte[] bytes = new byte[integers.length*4]; for (int index = 0; index < integers.length; index++) { byte[] integerBytes = convertIntToByteArray(integers[index]); bytes[index*4] = integerBytes[0]; bytes[1 + (index*4)] = integerBytes[1]; bytes[2 + (index*4)] = integerBytes[2]; bytes[3 + (index*4)] = integerBytes[3]; } return bytes; }
4.Chuyển đổi từ mảng byte[] sang mảng int[]
private static int[] convertByteArrayToIntArray(byte[] bytes) { ArrayList integers = new ArrayList(); for (int index = 0; index < bytes.length; index += 4) { byte[] fourBytes = new byte[4]; fourBytes[0] = bytes[index]; fourBytes[1] = bytes[index+1]; fourBytes[2] = bytes[index+2]; fourBytes[3] = bytes[index+3]; int integer = convertByteArrayToInt(fourBytes); integers.add(new Integer(integer)); } int[] ints = new int[bytes.length/4]; for (int index = 0; index < integers.size() ; index++) { ints[index] = ((Integer)integers.get(index)).intValue(); } return ints; }
Bạn thấy bài viết này thế nào?
Rate this:
Share this:
- X
Related
Từ khóa » Chuyển Byte Sang Int
-
11/Các Hàm Chuyển đổi: A/Đổi Byte Sang Int:
-
How To Convert A Byte Array To An Int - C# Programming Guide
-
Chuyển đổi Từ Byte Sang Int Trong Java - HelpEx
-
Cách Chuyển đổi Int Thành Byte Không Dấu Và Quay Lại? - HelpEx
-
Chuyển đổi Int Sang Byte Array Và Ngược Lại Trong Java
-
Chuyển Kiểu, ép Kiểu Trong Java
-
Chuyển đổi Giữa Các Kiểu Dữ Liệu Trong Java - GP Coder
-
Làm Thế Nào để Chuyển đổi Mảng Byte Thành Chuỗi Và Ngược Lại?
-
Cách Chuyển đổi Mảng 4 Byte Thành Float Trong Java
-
Chuyển đổi Một Mảng Byte Thành Số Nguyên Trong Java Và Ngược Lại
-
Java Convert Byte[] To Int[] By Concatenate Every Two Bytes
-
Ép Kiểu Trong Java - Giải Mã Thông Tin Về Java Type Conversion
-
BYTE To INT In Ladder - Entries - Forum - Industry Support - Siemens