亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java與其他語言數據類型之間的轉換方法

2019-11-17 05:55:53
字體:
來源:轉載
供稿:網友
java與其他語言數據類型之間的轉換方法實例程序

/**
* 通信格式轉換
*
* Java和一些windows編程語言如c、c++、Delphi所寫的網絡程序進行通訊時,需要進行相應的轉換
* 高、低字節之間的轉換
* windows的字節序為低字節開頭
* linux,unix的字節序為高字節開頭
* java則無論平臺變化,都是高字節開頭
  */

public class FormatTransfer {
/**
  * 將int轉為低字節在前,高字節在后的byte數組
  * @param n int
  * @return byte[]
  */
public static byte[] toLH(int n) {
  byte[] b = new byte[4];
  b[0] = (byte) (n & 0xff);
  b[1] = (byte) (n >> 8 & 0xff);
  b[2] = (byte) (n >> 16 & 0xff);
  b[3] = (byte) (n >> 24 & 0xff);
  return b;
}

/**
  * 將int轉為高字節在前,低字節在后的byte數組
  * @param n int
  * @return byte[]
  */
public static byte[] toHH(int n) {
  byte[] b = new byte[4];
  b[3] = (byte) (n & 0xff);
  b[2] = (byte) (n >> 8 & 0xff);
  b[1] = (byte) (n >> 16 & 0xff);
  b[0] = (byte) (n >> 24 & 0xff);
  return b;
}

/**
  * 將short轉為低字節在前,高字節在后的byte數組
  * @param n short
  * @return byte[]
  */
public static byte[] toLH(short n) {
  byte[] b = new byte[2];
  b[0] = (byte) (n & 0xff);
  b[1] = (byte) (n >> 8 & 0xff);
  return b;
}

/**
  * 將short轉為高字節在前,低字節在后的byte數組
  * @param n short
  * @return byte[]
  */
public static byte[] toHH(short n) {
  byte[] b = new byte[2];
  b[1] = (byte) (n & 0xff);
  b[0] = (byte) (n >> 8 & 0xff);
  return b;
}

 

/**
  * 將將int轉為高字節在前,低字節在后的byte數組

public static byte[] toHH(int number) {
  int temp = number;
  byte[] b = new byte[4];
  for (int i = b.length - 1; i > -1; i--) {
    b = new Integer(temp & 0xff).byteValue();
    temp = temp >> 8;
  }
  return b;
}

public static byte[] IntToByteArray(int i) {
    byte[] abyte0 = new byte[4];
    abyte0[3] = (byte) (0xff & i);
    abyte0[2] = (byte) ((0xff00 & i) >> 8);
    abyte0[1] = (byte) ((0xff0000 & i) >> 16);
    abyte0[0] = (byte) ((0xff000000 & i) >> 24);
    return abyte0;
}


*/

/**
  * 將float轉為低字節在前,高字節在后的byte數組
  */
public static byte[] toLH(float f) {

  return toLH(Float.floatToRawIntBits(f));
}

/**
  * 將float轉為高字節在前,低字節在后的byte數組
  */
public static byte[] toHH(float f) {
  return toHH(Float.floatToRawIntBits(f));
}

/**
  * 將String轉為byte數組
  */
public static byte[] stringToBytes(String s, int length) {
  while (s.getBytes().length < length) {
    s += " ";
  }
  return s.getBytes();
}


/**
  * 將字節數組轉換為String
  * @param b byte[]
  * @return String
  */
public static String bytesToString(byte[] b) {
  StringBuffer result = new StringBuffer("");
  int length = b.length;
  for (int i=0; i<length; i++) {
    result.append((char)(b & 0xff));
  }
  return result.toString();
}

/**
  * 將字符串轉換為byte數組
  * @param s String
  * @return byte[]
  */
public static byte[] stringToBytes(String s) {
  return s.getBytes();
}

/**
  * 將高字節數組轉換為int
  * @param b byte[]
  * @return int
  */
public static int hBytesToInt(byte[] b) {
  int s = 0;
  for (int i = 0; i < 3; i++) {
    if (b >= 0) {
    s = s + b;
    } else {
    s = s + 256 + b;
    }
    s = s * 256;
  }
  if (b[3] >= 0) {
    s = s + b[3];
  } else {
    s = s + 256 + b[3];
  }
  return s;
}

/**
  * 將低字節數組轉換為int
  * @param b byte[]
  * @return int
  */
public static int lBytesToInt(byte[] b) {
  int s = 0;
  for (int i = 0; i < 3; i++) {
    if (b[3-i] >= 0) {
    s = s + b[3-i];
    } else {
    s = s + 256 + b[3-i];
    }
    s = s * 256;
  }
  if (b[0] >= 0) {
    s = s + b[0];
  } else {
    s = s + 256 + b[0];
  }
  return s;
}


/**
  * 高字節數組到short的轉換
  * @param b byte[]
  * @return short
  */
public static short hBytesToShort(byte[] b) {
  int s = 0;
  if (b[0] >= 0) {
    s = s + b[0];
    } else {
    s = s + 256 + b[0];
    }
    s = s * 256;
  if (b[1] >= 0) {
    s = s + b[1];
  } else {
    s = s + 256 + b[1];
  }
  short result = (short)s;
  return result;
}

/**
  * 低字節數組到short的轉換
  * @param b byte[]
  * @return short
  */
public static short lBytesToShort(byte[] b) {
  int s = 0;

  if (b[1] >= 0) {
    s = s + b[1];
    } else {
    s = s + 256 + b[1];
    }
    s = s * 256;
  if (b[0] >= 0) {
    s = s + b[0];
  } else {
    s = s + 256 + b[0];
  }
  short result = (short)s;
  return result;
}

/**
  * 高字節數組轉換為float
  * @param b byte[]
  * @return float
  */
public static float hBytesToFloat(byte[] b) {
  int i = 0;
  Float F = new Float(0.0);
  i = ((((b[0]&0xff)<<8 (b[1]&0xff))<<8) (b[2]&0xff))<<8 (b[3]&0xff);
  return F.intBitsToFloat(i);
}

/**
  * 低字節數組轉換為float
  * @param b byte[]
  * @return float
  */
public static float lBytesToFloat(byte[] b) {
  int i = 0;
  Float F = new Float(0.0);
  i = ((((b[3]&0xff)<<8 (b[2]&0xff))<<8) (b[1]&0xff))<<8 (b[0]&0xff);
  return F.intBitsToFloat(i);
}

/**
  * 將byte數組中的元素倒序排列
  */
public static byte[] bytesReverSEOrder(byte[] b) {
  int length = b.length;
  byte[] result = new byte[length];
  for(int i=0; i<length; i++) {
    result[length-i-1] = b;
  }
  return result;
}

/**
  * 打印byte數組
  */
public static void PRintBytes(byte[] bb) {
  int length = bb.length;
  for (int i=0; i<length; i++) {
    System.out.print(bb + " ");
  }
  System.out.println("");
}

public static void logBytes(byte[] bb) {
  int length = bb.length;
  String out = "";
  for (int i=0; i<length; i++) {
    out = out + bb + " ";
  }

}

/**
  * 將int類型的值轉換為字節序顛倒過來對應的int值
  * @param i int
  * @return int
  */
public static int reverseInt(int i) {
  int result = FormatTransfer.hBytesToInt(FormatTransfer.toLH(i));
  return result;
}

/**
  * 將short類型的值轉換為字節序顛倒過來對應的short值
  * @param s short
  * @return short
  */
public static short reverseShort(short s) {
  short result = FormatTransfer.hBytesToShort(FormatTransfer.toLH(s));
  return result;
}

/**
  * 將float類型的值轉換為字節序顛倒過來對應的float值
  * @param f float
  * @return float
  */
public static float reverseFloat(float f) {
  float result = FormatTransfer.hBytesToFloat(FormatTransfer.toLH(f));
  return result;
}

}



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久天天躁日日躁| 久久亚洲精品一区二区| 久热精品视频在线| 久久久免费高清电视剧观看| 亚洲午夜精品久久久久久久久久久久| 国产精品爽爽爽爽爽爽在线观看| 久久在线免费观看视频| 亚洲女人天堂视频| 日韩av影视在线| 91精品免费久久久久久久久| 久久久精品久久久| 国产欧美一区二区三区久久| 国产亚洲精品久久久久动| 国产精品久久久久久久久免费| 亚洲欧美福利视频| 欧美成年人网站| 欧美黑人性猛交| 日韩高清av一区二区三区| 尤物精品国产第一福利三区| 欧美成人精品h版在线观看| 91po在线观看91精品国产性色| 国产91ⅴ在线精品免费观看| 国产成人精品国内自产拍免费看| 欧美黑人视频一区| 亚洲高清久久网| 欧美精品福利视频| 欧美黄色小视频| 日韩国产在线看| 91日韩在线播放| 国产精品69久久久久| 中文字幕免费国产精品| 欧美电影电视剧在线观看| 国产精品三级网站| 久久久久久久久久久av| 日韩国产在线播放| 美女久久久久久久| 国产成人精品在线播放| 性欧美暴力猛交69hd| 日韩av综合中文字幕| 国产精品成人在线| 国产日韩综合一区二区性色av| 亚洲人成自拍网站| 日韩一区二区欧美| 久热爱精品视频线路一| 亚洲经典中文字幕| 国产精品丝袜一区二区三区| 国产精品美女www爽爽爽视频| 一个人看的www欧美| 在线观看视频99| 日韩精品亚洲精品| 国产精品看片资源| 欧美性猛xxx| 欧美视频二区36p| 永久555www成人免费| 欧美国产一区二区三区| 欧美成人三级视频网站| 欧美激情精品久久久久久免费印度| 精品国产1区2区| 亚洲国产精品久久久久久| 亚洲天堂影视av| 欧美丰满老妇厨房牲生活| 亚洲天堂成人在线视频| 最近更新的2019中文字幕| 欧美最猛性xxxxx免费| 91高清视频免费观看| 日日狠狠久久偷偷四色综合免费| 精品无人国产偷自产在线| 日韩精品www| 少妇激情综合网| 欧美日韩国产色视频| 国产精品自在线| 97在线视频免费看| 亚洲国产精品专区久久| 国产精品日韩精品| 91福利视频在线观看| 日日狠狠久久偷偷四色综合免费| 亚洲天堂av女优| 国产精品v片在线观看不卡| 福利一区福利二区微拍刺激| 日韩视频免费在线| 成人av在线天堂| 成人国产亚洲精品a区天堂华泰| 日韩精品www| 91地址最新发布| 久久五月天综合| 久久久久久久久久久国产| 日韩国产高清污视频在线观看| 亚洲白拍色综合图区| 国产亚洲精品高潮| 成人激情在线播放| 日本一区二区不卡| 91久久在线观看| 在线精品视频视频中文字幕| 欧美性猛交丰臀xxxxx网站| 欧美丰满老妇厨房牲生活| 91chinesevideo永久地址| 成人国产精品久久久| 一本大道久久加勒比香蕉| 国产精品日韩在线| 久久av在线看| 国产91色在线免费| 精品国产精品自拍| 国产精品美女999| 日韩av中文字幕在线| 性色av一区二区三区红粉影视| 亚洲精品在线不卡| 91最新国产视频| 国产精品视频中文字幕91| 一区二区在线视频播放| 日韩av日韩在线观看| 亚洲深夜福利视频| 亚洲无av在线中文字幕| 国产欧美精品一区二区| 国产欧美一区二区三区久久人妖| 精品国产精品三级精品av网址| 成人www视频在线观看| 亚洲第一精品久久忘忧草社区| 日av在线播放中文不卡| 国产99久久精品一区二区| 国产丝袜一区二区三区免费视频| 久久久噜噜噜久噜久久| 国产亚洲综合久久| 在线日韩精品视频| 欧美精品免费在线| 日韩欧美国产免费播放| 伊人久久综合97精品| 午夜精品蜜臀一区二区三区免费| 精品久久久久久久久久久| 国产精品扒开腿爽爽爽视频| 久久99精品久久久久久琪琪| 日韩av在线一区二区| 91tv亚洲精品香蕉国产一区7ujn| 日韩国产中文字幕| 亚洲国语精品自产拍在线观看| 日本道色综合久久影院| 亚洲自拍偷拍一区| 91精品国产九九九久久久亚洲| 亚洲free性xxxx护士白浆| 91精品国产自产在线观看永久| 欧美精品一本久久男人的天堂| 日本不卡视频在线播放| 欧美成人在线网站| 国产99久久精品一区二区 夜夜躁日日躁| 欧美激情视频在线观看| 国产日产久久高清欧美一区| 日韩a**中文字幕| 最近2019中文字幕一页二页| 亚洲国产小视频| 最近日韩中文字幕中文| 日产日韩在线亚洲欧美| 另类专区欧美制服同性| 色99之美女主播在线视频| 久久久久国产一区二区三区| 亚洲人成在线观看| 日韩黄色在线免费观看| 78m国产成人精品视频| 亚洲一区二区在线播放| 日韩电影中文字幕av| 日韩成人在线免费观看| 久久精品中文字幕| 成人黄色短视频在线观看| 亚洲网站在线观看| 日本精品在线视频| 97在线视频免费观看|