• <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-后臺

            久久人人爽人人爽AV片| 狠狠色婷婷久久综合频道日韩| 亚洲国产精品久久久天堂| 亚洲国产美女精品久久久久∴| 亚洲欧美成人综合久久久| 久久国产精品成人片免费| 91精品国产91久久久久久青草| 久久夜色精品国产www| 亚洲av伊人久久综合密臀性色 | 久久精品天天中文字幕人妻| 国产精品久久久久久久久免费 | 2019久久久高清456| 国产精品对白刺激久久久| 久久久久国产| www.久久热.com| 亚洲欧美一区二区三区久久| 精品久久香蕉国产线看观看亚洲| 亚洲精品无码久久毛片| 91久久成人免费| 久久99精品久久久久久久不卡| 一本久久精品一区二区| 一本色道久久88加勒比—综合| 婷婷久久久亚洲欧洲日产国码AV| 久久九九久精品国产| 免费观看久久精彩视频| 国产精品九九九久久九九| 无码八A片人妻少妇久久| 欧美激情精品久久久久久久九九九 | 久久久久久久精品成人热色戒| 国产成人综合久久精品尤物| a级成人毛片久久| 99久久99久久久精品齐齐| 性欧美大战久久久久久久久| 中文字幕久久精品| 亚洲欧美久久久久9999 | 丁香久久婷婷国产午夜视频| 狠狠88综合久久久久综合网| 久久综合给合久久狠狠狠97色69| 亚洲精品乱码久久久久久自慰| 精品久久久一二三区| 狠狠色丁香久久婷婷综合蜜芽五月|