>  기사  >  类库下载  >  java int를 바이트로, long을 바이트로

java int를 바이트로, long을 바이트로

高洛峰
高洛峰원래의
2016-10-08 13:40:232054검색

<br/>

네트워크 프로그래밍에서는 대역폭이나 인코딩을 절약해야 하기 때문에 일반적으로 문자열로 변환하는 대신 long 및 int를 기본적으로 처리해야 합니다.

public class ByteOrderUtils {

public static byte[] int2byte(int res) {
byte[] target = new byte[4];

targets[3 ] = (바이트) (res & 0xff);// 가장 낮은 비트
targets[2] = (byte) ((res >> 8) & 0xff);// 두 번째로 낮은 비트
targets [1] = (바이트) ((res >> 16) & 0xff); // 두 번째로 높은 비트
targets[0] = (byte) (res >> 24); 비트, 부호 없음 오른쪽으로 이동합니다.
대상 반환;
}

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--) {//b의 꼬리부터 시작하는 데이터 복사(즉, int의 하위 비트) value)
if(j >= 0)
a[i] = b[j]
else
a[i] = 0;//b.length가 4보다 작은 경우 , 상위 비트를 0으로 채웁니다.
}
int v0 = (a[0] & 0xff)
int v1 = (a[1] & 0xff)
int v2; = (a[2] & 0xff)
int v3 = (a[3] & 0xff)
return v0 + v1 + v2 + v3; 🎜>public static byte[] long2byte(long res) {
byte[] buffer = new byte[8]
for (int i = 0; i 9bfcc54a56d135b1c68fa163f5162dcb 오프셋) & 0xff)
}
반환 버퍼;
}

public static long byteArrayToLong(byte[] b){
long 값 ​​= 0

for (int i = 0; i < 8; i++) {

values ​​​​<<= 8; 값|= (b[i] & 0xff)
}
반환 값; 🎜>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.