• <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精品久久久久久不卡| 久久精品国产第一区二区三区| 2020最新久久久视精品爱| 久久久久久久波多野结衣高潮| 天天综合久久久网| 欧美亚洲另类久久综合| 乱亲女H秽乱长久久久| 思思久久99热只有频精品66| 久久国产精品无码一区二区三区| 久久只这里是精品66| 精品久久国产一区二区三区香蕉| 成人国内精品久久久久影院| 亚洲国产香蕉人人爽成AV片久久| 久久无码AV中文出轨人妻| 精品视频久久久久| 久久成人精品| 久久无码国产| 人妻无码αv中文字幕久久琪琪布| 久久久久久久91精品免费观看| 亚洲伊人久久综合中文成人网| 无码人妻少妇久久中文字幕| 亚洲成色999久久网站| 91久久精品无码一区二区毛片| 国产精品99久久久久久猫咪| 精品国产一区二区三区久久久狼| 久久棈精品久久久久久噜噜| 天堂无码久久综合东京热| 无码精品久久一区二区三区| 久久精品夜色噜噜亚洲A∨| 精品99久久aaa一级毛片| 久久综合视频网站| 久久精品国产亚洲av水果派| 人妻无码αv中文字幕久久| 久久99久久99小草精品免视看| 久久免费精品视频| 99久久国产亚洲综合精品| 亚洲午夜久久久久久久久电影网| 99久久99这里只有免费费精品| 91久久精品电影| 国产精品女同久久久久电影院|