• <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 肥仔 閱讀(2920) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

            久久影院久久香蕉国产线看观看| 久久午夜福利无码1000合集| 精品国产一区二区三区久久| 久久精品国产99国产精品澳门 | 国产精品美女久久久| 97久久久久人妻精品专区| 99久久精品免费观看国产| 亚洲Av无码国产情品久久| 久久久久亚洲av综合波多野结衣| 久久久久亚洲av无码专区| 久久九九久精品国产| 亚洲国产精品成人久久| 久久国产高清一区二区三区| 少妇久久久久久久久久| 国产女人aaa级久久久级| 蜜臀久久99精品久久久久久小说| 国产巨作麻豆欧美亚洲综合久久| 久久99精品久久久大学生| 国产精品伊人久久伊人电影| 亚洲午夜久久久影院伊人| 亚洲精品午夜国产va久久| 热久久国产精品| 国产精品久久久久9999| 亚洲欧美日韩中文久久| 亚洲国产精品无码久久九九| 亚洲精品高清久久| 国产一区二区精品久久| 国内高清久久久久久| 久久综合九色综合网站| 人人狠狠综合88综合久久| 国内精品免费久久影院| 国内精品久久久久久久coent| 狠狠色噜噜狠狠狠狠狠色综合久久| 亚洲国产精品成人久久| 久久亚洲春色中文字幕久久久| 精品综合久久久久久98| 伊人久久大香线蕉av不变影院| 怡红院日本一道日本久久| 97久久香蕉国产线看观看| 国产精品久久免费| 国产精品日韩欧美久久综合|