com.drew.lang.ByteUtil Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of metadata-extractor Show documentation
Show all versions of metadata-extractor Show documentation
Java library for extracting EXIF, IPTC, XMP, ICC and other metadata from image and video files.
package com.drew.lang;
public class ByteUtil
{
public static int getInt16(byte[] buffer, int offset, boolean bigEndian)
{
if (bigEndian) {
return
((buffer[offset ] & 0xFF) << 8) |
((buffer[offset + 1] & 0xFF) );
} else {
return
((buffer[offset ] & 0xFF) ) |
((buffer[offset + 1] & 0xFF) << 8);
}
}
public static int getInt32(byte[] buffer, int offset, boolean bigEndian)
{
if (bigEndian) {
return
((buffer[offset ] & 0xFF) << 24) |
((buffer[offset + 1] & 0xFF) << 16) |
((buffer[offset + 2] & 0xFF) << 8) |
((buffer[offset + 3] & 0xFF));
} else {
return
((buffer[offset ] & 0xFF) ) |
((buffer[offset + 1] & 0xFF) << 8) |
((buffer[offset + 2] & 0xFF) << 16) |
((buffer[offset + 3] & 0xFF) << 24);
}
}
public static long getLong64(byte[] buffer, int offset, boolean bigEndian)
{
if (bigEndian) {
return
((long) (buffer[offset ] & 0xFF) << 56) |
((long) (buffer[offset + 1] & 0xFF) << 48) |
((long) (buffer[offset + 2] & 0xFF) << 40) |
((long) (buffer[offset + 3] & 0xFF) << 32) |
((long) (buffer[offset + 4] & 0xFF) << 24) |
((buffer[offset + 5] & 0xFF) << 16) |
((buffer[offset + 6] & 0xFF) << 8) |
((buffer[offset + 7] & 0xFF));
} else {
return
((buffer[offset ] & 0xFF) ) |
((buffer[offset + 1] & 0xFF) << 8) |
((buffer[offset + 2] & 0xFF) << 16) |
((long) (buffer[offset + 3] & 0xFF) << 24) |
((long) (buffer[offset + 4] & 0xFF) << 32) |
((long) (buffer[offset + 5] & 0xFF) << 40) |
((long) (buffer[offset + 6] & 0xFF) << 48) |
((long) (buffer[offset + 7] & 0xFF) << 56);
}
}
}