posts - 6,comments - 49,trackbacks - 0

          新手上路,最好的見面禮莫過于資源分享了。

          畢業(yè)設(shè)計(jì)中關(guān)鍵技術(shù)是數(shù)據(jù)壓縮模塊,數(shù)據(jù)傳輸?shù)氖亲止?jié)數(shù)組,卻沒有發(fā)現(xiàn)Java庫中現(xiàn)成的整型于字節(jié)數(shù)組的轉(zhuǎn)換,雖然Integer包裝類有toBinaryString()之類的靜態(tài)方法使用,但是卻無法直接滿足要求一個(gè)整數(shù)與4個(gè)字節(jié)數(shù)組的對(duì)應(yīng),幸好String類有g(shù)etBytes()幾個(gè)重載方法使用,要不然真的就哭死了

          記得net中就有BinConverter可以直接使用,而且實(shí)現(xiàn)了bytes與int16,int32,char等等多類型的轉(zhuǎn)換,有點(diǎn)感慨,還是.net方便,呵呵

          也許是偶還沒有發(fā)現(xiàn)相關(guān)的Java庫,google得也不深入,沒辦法,時(shí)間不等人,只好自己實(shí)現(xiàn)了一個(gè),經(jīng)測(cè)試,正負(fù)數(shù)都OK(PS:google到一個(gè)算法,比較搞笑,只有負(fù)數(shù)是正確

          ?1 public ? class ?BitConverter? {
          ?2 ????
          ?3 ???? public ? static ? byte []?getBytes( int ?value)
          ?4 ???? {?
          ?5 ???????? byte []?bytes? = ? new ? byte [ 4 ];
          ?6 ????????bytes[ 0 ]? = ( byte )(?value? >> ? 24 ?);
          ?7 ????????bytes[ 1 ]? = ( byte )(?(value? << ? 8 )? >> ? 24 ?);
          ?8 ????????bytes[ 2 ]? = ( byte )(?(value? << ? 16 )? >> ? 24 ?);
          ?9 ????????bytes[ 3 ]? = ( byte )(?(value? << ? 24 )? >> ? 24 ?);????????
          10 ???????? return ?bytes;????????????
          11 ????}
          ?????????
          12
          13 ???? public ? static ? int ?toInt( byte []?bytes,? int ?startIndex) {????????
          14 ???????? int ?value? = ? 0 ;
          15 ???????? for ?( int ?j = startIndex;j < 4 ;j ++ )? {????????????
          16 ????????????value? = ?(value? << ? 8 )? | ?(bytes[j]? & ? 0xFF );
          17 ????????}
          ????????
          18 ???????? return ?value;????
          19 ????}

          20 }

          只有int版本,有時(shí)間了再研究其他數(shù)據(jù)類型的了。

          歡迎大家拋磚,期待更加便捷的算法。
          posted on 2006-05-19 04:43 jinglecat 閱讀(1297) 評(píng)論(3)  編輯  收藏 所屬分類: Java Prime

          FeedBack:
          # re: int to bytes to int
          # re: int to bytes to int
          2006-05-20 14:15 | jinglecat
          @Dedian
          thx so much!the url is appreciated.
          it's algorithm for "int to bytes" seems simpler than mine.
          it's a pity that it does not provider the implement of "int, float ... to bytes".
          Do others have any ideas?  回復(fù)  更多評(píng)論
            
          # re: int to bytes to int
          主站蜘蛛池模板: 西丰县| 屯留县| 井冈山市| 论坛| 靖州| 吉首市| 股票| 牡丹江市| 通渭县| 耒阳市| 天津市| 晋江市| 巴楚县| 安徽省| 威海市| 噶尔县| 西青区| 扎鲁特旗| 瓮安县| 额济纳旗| 湖口县| 新蔡县| 颍上县| 吉木萨尔县| 孟连| 永和县| 那曲县| 新邵县| 法库县| 阿鲁科尔沁旗| 囊谦县| 平凉市| 鹤山市| 中阳县| 遵义市| 关岭| 十堰市| 长阳| 全椒县| 随州市| 巴里|