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

📄 byteutility.java

📁 Bean Scripting Framework (BSF)为在java应用中使用脚本语言
💻 JAVA
字号:
/* * Copyright 2004,2004 The Apache Software Foundation. *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.bsf.util.event.generator;/** * Byte handling utilities * * 5 April 1999 - functions to append standard types to byte arrays *                functions to produce standard types from byte arrays * * @author Richard F. Boehme * */public class ByteUtility{  public static byte[] addBytes(byte[] array,byte[] value)  {	if( null != array )	{	  byte newarray[] = new byte[array.length + value.length];	  System.arraycopy(array,0,newarray,0,array.length);	  System.arraycopy(value,0,newarray,array.length,value.length);	  array = newarray;	}	else	{	  array = value;	}	return array;  }  public static byte[] addBytes(byte[] array, byte value)  {	if( null != array )	{	  byte newarray[] = new byte[array.length + 1];	  System.arraycopy(array,0,newarray,0,array.length);	  newarray[newarray.length-1] = value;	  array = newarray;	}	else	{	  array = new byte[1];	  array[0] = value;	}	return array;  }  public static byte[] addBytes(byte[] array, int value)  {	if( null != array )	{	  byte newarray[] = new byte[array.length + 3];	  System.arraycopy(array,0,newarray,0,array.length);	  newarray[newarray.length-3] = (byte) (( value >> 16 ) & 0xFF);	  newarray[newarray.length-2] = (byte) (( value >>  8 ) & 0xFF);	  newarray[newarray.length-1] = (byte) (  value         & 0xFF);	  array = newarray;	}	else	{	  array = new byte[3];	  array[0] = (byte) (( value >> 16 ) & 0xFF);	  array[1] = (byte) (( value >>  8 ) & 0xFF);	  array[2] = (byte) (  value         & 0xFF);	}	return array;  }  public static byte[] addBytes(byte[] array, long value)  {	if( null != array )	{	  byte newarray[] = new byte[array.length + 4];	  System.arraycopy(array,0,newarray,0,array.length);	  newarray[newarray.length-4] = (byte) (( value >> 24 ) & 0xFF);	  newarray[newarray.length-3] = (byte) (( value >> 16 ) & 0xFF);	  newarray[newarray.length-2] = (byte) (( value >>  8 ) & 0xFF);	  newarray[newarray.length-1] = (byte) (  value         & 0xFF);	  array = newarray;	}	else	{	  array = new byte[4];	  array[0] = (byte) (( value >> 24 ) & 0xFF);	  array[1] = (byte) (( value >> 16 ) & 0xFF);	  array[2] = (byte) (( value >>  8 ) & 0xFF);	  array[3] = (byte) (value & 0xFF);	}	return array;  }  public static byte[] addBytes(byte[] array,String value)  {	if( null != value )	{	  if( null != array)	  {		byte newarray[] = new byte[array.length + value.length()];		System.arraycopy(array,0,newarray,0,array.length);		System.arraycopy(value.getBytes(),0,newarray,array.length,value.length());		array = newarray;	  }	  else	  {		array = value.getBytes();	  }	}	return array;  }  public static byte[] addBytes(byte[] array, short value)  {	if( null != array)	{	  byte newarray[] = new byte[array.length + 2];	  System.arraycopy(array,0,newarray,0,array.length);	  newarray[newarray.length-2] = (byte) (( value >> 8 ) & 0xFF);	  newarray[newarray.length-1] = (byte) (  value        & 0xFF);	  array = newarray;	}	else	{	  array = new byte[2];	  array[0] = (byte) (( value >> 8 ) & 0xFF);	  array[1] = (byte) (  value        & 0xFF);	}	return array;  }  public static double byteArrayToDouble(byte high[], byte low[])  {	double temp = 0;	// high bytes	temp += (((long)high[0]) & 0xFF) << 56;	temp += (((long)high[1]) & 0xFF) << 48;	temp += (((long)high[2]) & 0xFF) << 40;	temp += (((long)high[3]) & 0xFF) << 32;	// low bytes	temp += (((long)low[0]) & 0xFF) << 24;	temp += (((long)low[1]) & 0xFF) << 16;	temp += (((long)low[2]) & 0xFF) << 8;	temp += (((long)low[3]) & 0xFF);	return temp;  }  public static double byteArrayToDouble(byte value[])  {	byte high[] = new byte[4];	byte low[] = new byte[4];	high[0] = value[0];	high[1] = value[1];	high[2] = value[2];	high[3] = value[3];	low[0] = value[4];	low[1] = value[5];	low[2] = value[6];	low[3] = value[7];	return byteArrayToDouble(high,low);  }  public static float byteArrayToFloat(byte value[])  {	float temp = 0;	temp += (((int)value[0]) & 0xFF) << 24;	temp += (((int)value[1]) & 0xFF) << 16;	temp += (((int)value[2]) & 0xFF) << 8;	temp += (((int)value[3]) & 0xFF);	return temp;  }  public static int byteArrayToInt(byte value[])  {	int temp = 0;	temp += (((int)value[0]) & 0xFF) << 24;	temp += (((int)value[1]) & 0xFF) << 16;	temp += (((int)value[2]) & 0xFF) << 8;	temp += (((int)value[3]) & 0xFF);	return temp;  }  public static long byteArrayToLong(byte value[])  {	byte high[] = new byte[4];	byte low[] = new byte[4];	high[0] = value[0];	high[1] = value[1];	high[2] = value[2];	high[3] = value[3];	low[0] = value[4];	low[1] = value[5];	low[2] = value[6];	low[3] = value[7];	return byteArrayToLong(high,low);  }  public static long byteArrayToLong(byte high[], byte low[])  {	long temp = 0;	// high bytes	temp += (((long)high[0]) & 0xFF) << 56;	temp += (((long)high[1]) & 0xFF) << 48;	temp += (((long)high[2]) & 0xFF) << 40;	temp += (((long)high[3]) & 0xFF) << 32;	// low bytes	temp += (((long)low[0]) & 0xFF) << 24;	temp += (((long)low[1]) & 0xFF) << 16;	temp += (((long)low[2]) & 0xFF) << 8;	temp += (((long)low[3]) & 0xFF);	return temp;  }  // make the following loops with check on array length *****************  public static short byteArrayToShort(byte value[])  {	short temp = 0;	temp += (((int)value[0]) & 0xFF) << 8;	temp += (((int)value[1]) & 0xFF);	return temp;  }  public static String byteToHexString(byte value)  {	String temp = null;	switch( (value & 0xF0) >> 4 )	{	  case 0:		temp = "0";		break;	  case 1:		temp = "1";		break;	  case 2:		temp = "2";		break;	  case 3:		temp = "3";		break;	  case 4:		temp = "4";		break;	  case 5:		temp = "5";		break;	  case 6:		temp = "6";		break;	  case 7:		temp = "7";		break;	  case 8:		temp = "8";		break;	  case 9:		temp = "9";		break;	  case 10:		temp = "A";		break;	  case 11:		temp = "B";		break;	  case 12:		temp = "C";		break;	  case 13:		temp = "D";		break;	  case 14:		temp = "E";		break;	  case 15:		temp = "F";		break;	}	switch( (value & 0x0F) )	{	  case 0:		temp += "0";		break;	  case 1:		temp += "1";		break;	  case 2:		temp += "2";		break;	  case 3:		temp += "3";		break;	  case 4:		temp += "4";		break;	  case 5:		temp += "5";		break;	  case 6:		temp += "6";		break;	  case 7:		temp += "7";		break;	  case 8:		temp += "8";		break;	  case 9:		temp += "9";		break;	  case 10:		temp += "A";		break;	  case 11:		temp += "B";		break;	  case 12:		temp += "C";		break;	  case 13:		temp += "D";		break;	  case 14:		temp += "E";		break;	  case 15:		temp += "F";		break;	}	return temp;  }}

⌨️ 快捷键说明

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