⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bytetoother.java

📁 byte类型转换,在exif头上可能有用的
💻 JAVA
字号:
package com.lang;

public class ByteToOther
{
	public static int ChangeToInt(byte[] buffer, int order)// 小字节排序
	{
		int result = 0;
		if (buffer.length <= 4 && order == 1)
		{
			for (int i = buffer.length - 1; i >= 0; i--)
			{
				int sum = 0;
				sum = buffer[i];
				sum = (sum & 255) << i * 8;
				result += sum;
			}
			return result;
		}
		else if (buffer.length <= 4 && order == 2)// 大字节排序
		{
			for (int i = 0, j = buffer.length - 1; i <= buffer.length - 1; i++)
			{
				int sum = 0;
				sum = buffer[i];
				sum = (sum & 255) << j * 8;
				j--;
				result += sum;
			}
			return result;
		}
		else
		{
			return 0;
		}
	}

	// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	public static short ChangeToShort(byte[] buffer, int order)// 小字节排序
	{
		short result = 0;
		if (buffer.length <= 4 && order == 1)
		{
			for (int i = buffer.length - 1; i >= 0; i--)
			{
				int sum = 0;
				sum = buffer[i];
				sum = (sum & 255) << i * 8;
				result += sum;
			}
			return result;
		}
		else if (buffer.length <= 4 && order == 2)// 大字节排序
		{
			for (int i = 0, j = buffer.length - 1; i <= buffer.length - 1; i++)
			{
				int sum = 0;
				sum = buffer[i];
				sum = (sum & 255) << j * 8;
				j--;
				result += sum;
			}
			return result;
		}
		else
		{
			return 0;
		}
	}

	// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	public static long ChangeToLong(byte[] buffer, int order)// 小字节排序
	{
		long result = 0;
		if (buffer.length <= 4 && order == 1)
		{
			for (int i = buffer.length - 1; i >= 0; i--)
			{
				long sum = 0;
				sum = buffer[i];
				sum = (sum & 255) << i * 8;
				result += sum;
			}
			return result;
		}
		else if (buffer.length <= 4 && order == 2)// 大字节排序
		{
			for (int i = 0, j = buffer.length - 1; i <= buffer.length - 1; i++)
			{
				long sum = 0;
				sum = buffer[i];
				sum = (sum & 255) << j * 8;
				j--;
				result += sum;
			}
			return result;
		}
		else
		{
			return 0;
		}
	}// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

	public static char[] ChangeToChar(byte[] buffer)
	{
		char name[] = new char[buffer.length];
		for (int i = 0; i < buffer.length; i++)
		{
			name[i] = (char) buffer[i];
		}
		return name;

	}

	public static short[] ChangeToShortValue(byte[] buffer, int count)
	{
		int len = buffer.length / count;
		short[] result = new short[count];
		for (int i = 0; i < count; i++)
		{
			byte[] temp = new byte[len];
			for (int j = 0; j < len; j++)
			{
				temp[j] = buffer[i * len + j];
			}
			result[i] = ByteToOther.ChangeToShort(temp, 1);
		}
		return result;
	}

	public static long[] ChangeTOLongValue(byte[] buffer, int count)
	{
		int len = buffer.length / count;
		long[] result = new long[count];
		for (int i = 0; i < count; i++)
		{
			byte[] temp = new byte[len];
			for (int j = 0; j < len; j++)
			{
				temp[j] = buffer[i * len + j];
			}
			result[i] = ByteToOther.ChangeToLong(temp, 1);
		}
		return result;
	}
	public static long[] ChangeTORationalValue(byte[] buffer, int count)
	{
		count = count*2;
		int len = buffer.length / count;
		long[] result = new long[count];
		for (int i = 0; i < count; i++)
		{
			byte[] temp = new byte[len];
			for (int j = 0; j < len; j++)
			{
				temp[j] = buffer[i * len + j];
			}
			result[i] = ByteToOther.ChangeToLong(temp, 1);
		}
		return result;
	}
	public static long[] ChangeTOSLongValue(byte[] buffer,int count)
	{
		int len = buffer.length / count;
		long[] result = new long[count];
		for (int i = 0; i < count; i++)
		{
			byte[] temp = new byte[len];
			for (int j = 0; j < len; j++)
			{
				temp[j] = buffer[i * len + j];
			}
			result[i] = ByteToOther.ChangeToLong(temp, 1);
		}
		return result;
	}
	public static long[] ChangeToSRationalValue(byte[] buffer,int count)
	{
		count = count*2;
		int len = buffer.length / count;
		long[] result = new long[count];
		for (int i = 0; i < count; i++)
		{
			byte[] temp = new byte[len];
			for (int j = 0; j < len; j++)
			{
				temp[j] = buffer[i * len + j];
			}
			result[i] = ByteToOther.ChangeToLong(temp, 1);
		}
		return result;
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -