java byte数组转long_Java byte数组到long的转换

/*

* @(#)SignedByteConverter.java

*

* This program is free software; you can redistribute it and/or modify

* it under the terms of the GNU General Public License as published by

* the Free Software Foundation; either version 3 of the License, or

* (at your option) any later version.

*

* This program is distributed in the hope that it will be useful,

* but WITHOUT ANY WARRANTY; without even the implied warranty of

* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

* GNU Library General Public License for more details.

*

* You should have received a copy of the GNU General Public License

* along with this program; if not, write to the Free Software

* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

*/

package

cn.edu.ynu.sei.dict.util;

/**

* Convert the signed byte(s) into a integer or hexadecimal digit form.

*

@author

88250

*

@version

1.0.1.4, Feb 3, 2008

*/

public

class

SignedByteConverter {

/**

* convert signed one byte into a 32-bit integer

*

@param

b byte

*

@return

convert result

*/

public

static

int

unsignedByteToInt(

byte

b) {

return

(

int

) b

&

0xFF

;

}

/**

* convert signed one byte into a hexadecimal digit

*

@param

b byte

*

@return

convert result

*/

public

static

String byteToHex(

byte

b) {

int

i

=

b

&

0xFF

;

return

Integer.toHexString(i);

}

/**

* convert signed 4 bytes into a 32-bit integer

*

@param

buf bytes buffer

*

@param

pos beginning byte> for converting

*

@return

convert result

*/

public

static

long

unsigned4BytesToInt(

byte

[] buf,

int

pos) {

int

firstByte

=

0

;

int

secondByte

=

0

;

int

thirdByte

=

0

;

int

fourthByte

=

0

;

int

index

=

pos;

firstByte

=

(

0x000000FF

&

((

int

) buf[index]));

secondByte

=

(

0x000000FF

&

((

int

) buf[index

+

1

]));

thirdByte

=

(

0x000000FF

&

((

int

) buf[index

+

2

]));

fourthByte

=

(

0x000000FF

&

((

int

) buf[index

+

3

]));

index

=

index

+

4

;

return

((

long

) (firstByte

<<

24

|

secondByte

<<

16

|

thirdByte

<<

8

|

fourthByte))

&

0xFFFFFFFFL

;    }}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值