Cómo convertir una matriz de bytes a un número entero
El primero:
1. Conversión entre int y byte[] (similar a byte? tipos cortos y largos)
p>[java]? ¿Punto de vista? ¿aburrido? ¿Copiar?
/**?
*?Convierte un valor int en una matriz de bytes de cuatro bytes. Este método funciona en orden (el bit más bajo primero, el bit alto al final). ? ¿Usar con bytesToInt()?
*?@param? ¿valor?
*¿Valor int a convertir?
*?@¿Volver? ¿Matriz de bytes?
*/
¿Público? ¿Electricidad estática? byte[]? intToBytes(?int?value?)
{
byte[]? src? =?Nuevo? byte[4];?
fuente[3]? =?(byte)? ((valor>>24)?&?0xff);?
fuente[2]? =?(byte)? ((valor>>16)?&?0xff);?
fuente[1]? =?(byte)? ((valor>>8)?&?0xff);
src[0]? =?(byte)? (valor? & amp? 0x ff);?
¿Volver? src
}?
/**?
*?Convierte un valor int en una matriz de bytes de cuatro bytes. Este método funciona en orden (el bit alto primero, el bit bajo al final). ? ¿Usar con bytesToInt2()?
*/
¿Público? ¿Electricidad estática? byte[]? intToBytes2(int? valor)
{
byte[]? src? =?Nuevo? byte[4];?
fuente[0]? =?(byte)? ((valor>>24)?&?0xff);?
fuente[1]? =?(byte)? ((valor>>16);?0xff);?
fuente[2]? =?(byte)? ((valor>>8)&0xff);
src[3]? =?(byte)? (¿valor? & amp? 0x ff);
¿Regresión? src?
}?
Byte[] a int
[java]? ¿Punto de vista? ¿aburrido? ¿Copiar?
/**?
*?Acepta un valor int en una matriz de bytes. Este método funciona en el orden de (orden inferior primero, orden superior último). ¿Se puede utilizar con intToBytes()?
*
*?@param? src?
*¿Matriz de bytes?
*?@param? ¿compensar?
*¿Empezar desde el primer desplazamiento de la matriz?
*?@¿Volver? ¿Valor interno?
*/
¿Público? ¿Electricidad estática? int? bytesToInt(byte[]?src,?int?offset)? {?
int? Valor;
¿Valor? =?(int)? ((src[desplazamiento]?&?0xFF)
|?((src[desplazamiento+1]?&?0xff)<<8)
| ?((src[ offset+2]?& amp?0x ff)& lt;& lt16)
|?((src[offset+3]?& amp?0x ff)& lt;& lt24));?
¿Volver? valor;?
}?
/**?
*?El valor int se toma de la matriz de bytes. El orden adecuado para este método es (extremo inferior, último, gama alta primero).
¿Usar con intToBytes2()?
*/?
¿Público? ¿Electricidad estática? int? bytesToInt2(byte[]?src,?int?offset)? {?
int? Valor;
¿Valor? =?(int)? (?((src[offset]?& amp?0x ff)& lt;& lt24)?
|((src[offset+1]?& amp?0x ff)& lt;& lt16 )?
|((src[offset+2]?& amp?0x ff)& lt;& lt8)?
|(src[offset+3]?& amp ?0xff));?
¿Volver? valor;?
}?
Segundo tipo: 1, int y byte[] (similar a byte
tipos corto y largo)
【 Java】? ¿Punto de vista? ¿aburrido? ¿Copiar?
/**?
*?Convierte un valor int en una matriz de bytes de cuatro bytes. Este método funciona en orden (el bit más bajo primero, el bit alto al final). ?
*?@param? ¿valor?
*¿Valor int a convertir?
*?@¿Volver? ¿Matriz de bytes?
*/
¿Público? ¿Electricidad estática? byte[]? intToBytes(int? valor)
{
byte[]? byte_src? =?Nuevo? byte[4];?
byte_src[3]? =?(byte)? ((valor?&0xFF000000)>>24);?
byte_src[2]? =?(byte)? ((valor?&?0x00FF0000)>>16);?
byte_src[1]? =?(byte)? ((valor?&?0x0000FF00)>>8);
byte_src[0]? =?(byte)? ((valor?&?0x 000000 y siguientes));?
¿Volver? byte_src?
}?
Byte[] a int
[java]? ¿Punto de vista? ¿aburrido? ¿Copiar?
/**?
*?El valor Int se toma de la matriz de bytes. El orden adecuado para este método es (el extremo inferior primero, el extremo superior al final). ?
*
*?@param? ario?
*¿Matriz de bytes?
*?@param? ¿compensar?
*¿Empezar desde el primer desplazamiento de la matriz?
*?@¿Volver? ¿Valor interno?
*/
¿Público? ¿Electricidad estática? int? bytesToInt(byte[]?ary?int?offset)? {?
int? Valor;
¿Valor? =?(int)? ((ary[offset]& amp;0xFF)
|?((ary[offset+1]& lt;& lt8)?& amp?0xFF00)?
|? ((ary[offset+2]<<16);?0xFF0000)
|?((ary[offset+3]<<24)?&?0xff 000000)) ;?
¿Volver? valor;?
}