工具類 BcdUtil 工具類

2021-10-11 16:32:25 字數 3549 閱讀 4994

bcdutil 源**,如下所示:

/**

* */

public

class

bcdutil

}return

true;}

/** * 功能描述:對給定的資料進行bcd轉換,如果長度為奇數,則在最前端補零

* @param val

* 待轉換資料,需滿足canbebcd()。

* @return 以位元組陣列的形式返回壓縮後的內容

*/public

static

byte

dobcd

(byte

val)if(

!canbebcd

(val)

)for

(int i =

0;i < val.length; i++)if

(val[i]

>

0x09

&& val[i]

<

0x10)}

byte

bcddata = null;

string bcdstr =

newstring

(val);if

(bcdstr.

length()

%2==0

)else

return bcddata;

}/**

* 功能描述:這個函式實現了左靠壓縮功能,如果長度為奇數,在內容末尾補零

* @param val

* 需要壓縮的內容,型別為byte

* @return 以位元組陣列的方式返回壓縮後的內容

*/public

static

byte

dobcdleft

(byte val)

if(!canbebcd

(val)

)for

(int i =

0;i < val.length; i++)if

(val[i]

>

0x09

&& val[i]

<

0x10)}

byte

bcddata = null;

string bcdstr =

newstring

(val);if

(bcdstr.

length()

%2==0

)else

return bcddata;

}// /** *//**

// * @函式功能: bcd碼轉為10進製串(阿拉伯資料)

// * @輸入引數: bcd碼

// * @輸出結果: 10進製串

// */

// public static string bcd2str(byte bytes)

// return temp.tostring().substring(0, 1).equalsignorecase("0") ? temp.tostring().substring(1) : temp.tostring();

// }

/** * bcd碼轉為10進製串(阿拉伯資料)

* @param bcds

* bcd碼

* @return 10進製串

*/public

static string bcdtostr

(byte

bcds)

stringbuffer res =

newstringbuffer()

;for

(int i =

0; i < temp.length; i++

)return res.

tostring()

.touppercase()

;}/** * 功能描述:10進製字串轉化為bcd壓縮碼,例如字串str = "12345678",壓縮之後的位元組陣列內容為;

* @param asc

* 需要進行壓縮的ascii碼表示的字串

* @return 以位元組陣列返回壓縮後的內容

*/public

static

byte

strtobcd

(string asc)

byte abt=

newbyte

[len];if

(len >=2)

byte bbt=

newbyte

[len]

; abt = asc.

getbytes()

;int j, k;

for(

int p =

0; p < asc.

length()

/2; p++

)elseif(

(abt[

2* p]

>=

'a')

&&(abt[

2* p]

<=

'z')

)elseif(

(abt[

2* p +1]

>=

'0')

&&(abt[

2* p +1]

<=

'9')

)elseif(

(abt[

2* p +1]

>=

'a')

&&(abt[

2* p +1]

<=

'z')

)else

int a =

(j <<4)

+ k;

byte b =

(byte

) a;

bbt[p]

= b;

}return bbt;

}/**

* ascii byte 轉 bcd byte

* @param asc

* ascii byte 值

* @return 返回bcd byte值

*/private

static

byte

asctobcd

(byte asc)

elseif(

(asc >=

'a')

&&(asc <=

'f')

)elseif(

(asc >=

'a')

&&(asc <=

'f')

)else

return bcd;

}/**

* ascii byte陣列轉bcd byte陣列

* @param ascii

* byte陣列

* @param asc_len

* 陣列長度

* @return

*/public

static

byte

asctobcd

(byte

ascii,

int asc_len)

return bcd;

}}

工具類 HexUtil 工具類

hexutil 源 如下 十六進製制處理工具類 public class hexutil param hex 需要轉換的16進製制字串 return 以位元組陣列返回轉換後的結果 public static byte hexstringtobyte string hex return result ...

集合工具類和陣列工具類

集合的工具類 collections 筆試題 說出collection與collections的區別?1.collection是乙個單列集合的跟介面,collections是操作集合物件的乙個工具類 collections常見方法 1.對list進行排序 sort listlist sort lis...

EAS工具類之KdTable工具類

public class basekdenutils for string columnkey columnkeys 獲取 寬度 param table param widtht寬度 param columnkeys public static void setcolumnkeyswidth kdt...