Red de conocimientos sobre prescripción popular - Conocimiento dental - Cómo convertir una matriz de bytes a un número entero

Cómo convertir una matriz de bytes a un número entero

El siguiente es un breve registro de los dos métodos de conversión:

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;?

}