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

            欧美精品福利视频一区二区三区久久久精品 | 94久久国产乱子伦精品免费| 久久精品国产网红主播| 欧美一区二区精品久久| 久久无码人妻精品一区二区三区| 午夜精品久久久久| 久久亚洲欧美国产精品| 国产精自产拍久久久久久蜜| 久久久久久国产精品美女| 久久99精品国产| 伊人久久精品无码av一区| 国产福利电影一区二区三区,免费久久久久久久精 | 欧美亚洲国产精品久久高清 | 久久青青国产| 99久久久国产精品免费无卡顿| 久久综合亚洲色HEZYO国产| 国产精品免费看久久久| 亚洲国产成人久久综合一区77| 久久精品国产亚洲av麻豆小说| 久久久久亚洲AV成人网| 色欲综合久久躁天天躁蜜桃| 亚洲国产成人久久一区久久| 国产精品美女久久久久AV福利| 影音先锋女人AV鲁色资源网久久 | 久久狠狠色狠狠色综合| 无码专区久久综合久中文字幕| 人人狠狠综合久久亚洲高清| 伊人久久大香线蕉影院95| 777米奇久久最新地址| 亚洲精品蜜桃久久久久久| 久久婷婷人人澡人人爽人人爱| 日本欧美国产精品第一页久久| 国内精品久久久久久中文字幕| 亚洲一区中文字幕久久| 高清免费久久午夜精品| 国产美女久久久| 久久国产精品久久精品国产| 成人资源影音先锋久久资源网| A狠狠久久蜜臀婷色中文网| 久久免费高清视频| 久久这里有精品视频|