• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            byte,int,char,double的相互轉換(java)

            最近在學習一些SOCKET通訊協議設計的知識,涉及到了一些協議的設計,需要打包和解包,所以把一些比較基本的知識搜集了下來.

             

            暫時把協議結構定義得比較簡單,也就是 CMD(命令類型8)+序號(整形16)+接收人長度(整形16)+消息內容(每個包只接收1024位消息內容,多余的需要分割);下面是需要用到的一些方法.

             

            //整數到字節數組的轉換

               public byte[] intToByte(int intValue) {

                byte[] result = new byte[4];

                result[0] = (byte) ( (intValue & 0xFF000000) >> 24);

                result[1] = (byte) ( (intValue & 0x00FF0000) >> 16);

                result[2] = (byte) ( (intValue & 0x0000FF00) >> 8);

                result[3] = (byte) ( (intValue & 0x000000FF));

                return result;

              }

             

              //字節數組到整數的轉換

              public static int byteToInt(byte[] b) {

            public static int byteToInt(byte[] byteVal) {

                  int result = 0;

                  for (int i = 0; i < byteVal.length; i++) {

                    int tmpVal = (byteVal[i] << (8 * (3 - i)));

                    switch (i) {

                      case 0:

                        tmpVal = tmpVal & 0xFF000000;

                        break;

                      case 1:

                        tmpVal = tmpVal & 0x00FF0000;

                        break;

                      case 2:

                        tmpVal = tmpVal & 0x0000FF00;

                        break;

                      case 3:

                        tmpVal = tmpVal & 0x000000FF;

                        break;

                    }

                    result = result | tmpVal;

                  }

                  return result;

                }

             

              //字符到字節轉換

              public static byte[] charToByte(char ch){

                int temp=(int)ch;

                byte[] b=new byte[2];

                for (int i=b.length-1;i>-1;i--){

                  b = new Integer(temp&0xff).byteValue();      //將最高位保存在最低位

                  temp = temp >> 8;       //向右移8

                }

                return b;

              }

             

              //字節到字符轉換

              public static char byteToChar(byte[] b){

                int s=0;

                if(b[0]>0)

                  s+=b[0];

                else

                  s+=256+b[0];

                s*=256;

                if(b[1]>0)

                  s+=b[1];

                else

                  s+=256+b[1];

                char ch=(char)s;

                return ch;

              }

             

              //浮點到字節轉換

              public static byte[] doubleToByte(double d){

                byte[] b=new byte[8];

                long l=Double.doubleToLongBits(d);

                for(int i=0;i<b.length;i++){

                  b=new Long(l).byteValue();

                  l=l>>8;

                }

                return b;

              }

             

              //字節到浮點轉換

              public static double byteToDouble(byte[] b){

                long l;

             

                l=b[0];

                l&=0xff;

                l|=((long)b[1]<<8);

                l&=0xffff;

                l|=((long)b[2]<<16);

                l&=0xffffff;

                l|=((long)b[3]<<24);

                l&=0xffffffffl;

                l|=((long)b[4]<<32);

                l&=0xffffffffffl;

             

                l|=((long)b[5]<<40);

                l&=0xffffffffffffl;

                l|=((long)b[6]<<48);

                l&=0xffffffffffffffl;

                l|=((long)b[7]<<56);

                return Double.longBitsToDouble(l);

              }

             

            posted on 2009-08-04 10:57 肥仔 閱讀(2913) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

            国产精品欧美亚洲韩国日本久久 | 少妇高潮惨叫久久久久久 | 久久精品国产亚洲一区二区| 色播久久人人爽人人爽人人片AV| 国产三级精品久久| 国产亚洲美女精品久久久| 国产欧美久久久精品| 国产精品女同久久久久电影院 | 久久综合色区| 蜜臀久久99精品久久久久久| 国产精品无码久久四虎| 久久黄色视频| 亚洲Av无码国产情品久久| 综合久久一区二区三区| 99久久无色码中文字幕人妻| 久久99久久99精品免视看动漫| 亚洲AV日韩精品久久久久久| 久久综合国产乱子伦精品免费| 99久久成人国产精品免费| 久久不见久久见免费视频7| 久久精品一区二区国产| 国产精品成人99久久久久 | 蜜臀久久99精品久久久久久 | 久久人人爽人人爽人人av东京热| 亚洲精品乱码久久久久久中文字幕 | 精品久久香蕉国产线看观看亚洲| 91精品国产91久久久久久青草| 久久男人中文字幕资源站| 久久这里有精品| 国产成人久久AV免费| 久久精品成人免费观看97| 久久精品国产久精国产果冻传媒| 久久久精品国产sm调教网站| 国产日韩久久久精品影院首页| 亚洲国产精品一区二区久久hs | 久久久久亚洲精品男人的天堂| 亚洲精品乱码久久久久久中文字幕| 久久综合综合久久97色| 中文成人无码精品久久久不卡| 青青青国产成人久久111网站| 久久中文字幕人妻丝袜|