<br/>
Bei der Netzwerkprogrammierung ist es aufgrund der Notwendigkeit, Bandbreite oder Codierung zu sparen, normalerweise erforderlich, long und int nativ zu verarbeiten, anstatt in String zu konvertieren.
public class ByteOrderUtils {
public static byte[] int2byte(int res) {
byte[] targets = new byte[4];
targets[3 ] = (byte) (res & 0xff);// Das niedrigste Bit
targets[2] = (byte) ((res >> 8) & 0xff);// Das zweitniedrigste Bit
targets [1] = (Byte) ((res >> 16) & 0xff); // Zweithöchstes Bit
targets[0] = (byte) (res >> 24); Bit, ohne Vorzeichen Nach rechts bewegen.
return targets;
}
public static int byteArrayToInt(byte[] b){
byte[] a = new byte[4];
int i = a.length - 1,j = b.length - 1;
for (; i >= 0 ; i--,j--) {//Kopieren Sie Daten beginnend am Ende von b (d. h. dem unteren Bit des int value)
if(j >= 0)
a[i] = b[j];//If b.length ist kleiner als 4 , fülle das High-Bit mit 0
}
int v0 = (a[0] & 0xff)
int v1 = (a[1] & 0xff) << = (a[2] & 0xff) << static byte[] long2byte(long res) { <br/>byte[] buffer = new byte[8]; <br/>for (int i = 0; i < 8; i ) { <br/>int offset = 64 - (i 1) * 8; <br/>buffer[i] = (byte) ((res >> offset ) & 0xff>return buffer;
}
public static long byteArrayToLong(byte[] b){
long Values = 0;
for (int i = 0; i < 8; i ) {
values << = 8; Werte|= (b[i] & 0xff);
}
}