csusky

常用链接

统计

最新评论

字节数组和其他类型的转换

 

//整数到字节数组的转换 软件测试专业网站:51Testing软件测试网 h$_g8Lbx g s
   public byte[] intToByte(int intValue) {
O R-v0OS&{;u0    byte[] result = new byte[4];
e!sm#DN0    result[0] = (byte) ( (intValue & 0xFF000000) >> 24);软件测试专业网站:51Testing软件测试网3e Ou-l*l
    result[1] = (byte) ( (intValue & 0x00FF0000) >> 16);软件测试专业网站:51Testing软件测试网%F3hN!XoC
    result[2] = (byte) ( (intValue & 0x0000FF00) >> 8);
d"TS)ro;L`;A:eI0    result[3] = (byte) ( (intValue & 0x000000FF));软件测试专业网站:51Testing软件测试网t1^O{;_,S"e `
    return result;软件测试专业网站:51Testing软件测试网q*~[? n M"i
  }

  //字节数组到整数的转换 软件测试专业网站:51Testing软件测试网i f9``3@0LZK&R
  public static int byteToInt(byte[] b) { 软件测试专业网站:51Testing软件测试网Rb~,Ws"u1m
public static int byteToInt(byte[] byteVal) {
2X/cH bIM0      int result = 0;软件测试专业网站:51Testing软件测试网7e5~3p"J r\ _
      for (int i = 0; i < byteVal.length; i++) {
1i {T q a2eT V_.^!Q0        int tmpVal = (byteVal[i] << (8 * (3 - i)));
&?x%pQ4_9T7k0        switch (i) {软件测试专业网站:51Testing软件测试网A P/u[ C,J&FA#f
          case 0:软件测试专业网站:51Testing软件测试网B,}\z`]8UU
            tmpVal = tmpVal & 0xFF000000;软件测试专业网站:51Testing软件测试网*yS6X$y9n*md~
            break;
piL/jY)lkZ?0          case 1:软件测试专业网站:51Testing软件测试网5D#YS%w3f X|g
            tmpVal = tmpVal & 0x00FF0000;软件测试专业网站:51Testing软件测试网c?Iu I w
            break;软件测试专业网站:51Testing软件测试网~&E3Vmp0_;}@
          case 2:
6j3t1F;iX+K4{0            tmpVal = tmpVal & 0x0000FF00;软件测试专业网站:51Testing软件测试网5fD7H.i y R a/q
            break;
]5b:h MMa!K0          case 3:
)^~_.\A0            tmpVal = tmpVal & 0x000000FF;
t2}8J f7A E~eH2[0            break;软件测试专业网站:51Testing软件测试网\? d:MN#D#iN
        }
MJ:c.rxWE0X"e"^*@0        result = result | tmpVal;软件测试专业网站:51Testing软件测试网9R lE\Q(g&SAJ
      }软件测试专业网站:51Testing软件测试网1ixe#~9]lyF},T
      return result;软件测试专业网站:51Testing软件测试网d,d"L^/fC?*upX
    }

  //字符到字节转换
Q N"P6tq.b@~0  public static byte[] charToByte(char ch){ 软件测试专业网站:51Testing软件测试网%]|X,~-vb'?$SU
    int temp=(int)ch; 软件测试专业网站:51Testing软件测试网'L9cx"B:` Ak
    byte[] b=new byte[2]; 软件测试专业网站:51Testing软件测试网2C8j1U/i1[ ls
    for (int i=b.length-1;i>-1;i--){
'C3^]_V:qz0      b = new Integer(temp&0xff).byteValue();      //将最高位保存在最低位 软件测试专业网站:51Testing软件测试网 |S`"I h%YQU\(g
      temp = temp >> 8;       //向右移8位 软件测试专业网站:51Testing软件测试网!s/jv'Z2R
    } 软件测试专业网站:51Testing软件测试网R+C:w4LY4Xu!M
    return b; 软件测试专业网站:51Testing软件测试网%n+x/Y ZV`6T\
  }

  //字节到字符转换 软件测试专业网站:51Testing软件测试网n:gg'^!_@NF p*@B
  public static char byteToChar(byte[] b){ 软件测试专业网站:51Testing软件测试网(}xOQ:b
    int s=0;
ZuYw~ac0    if(b[0]>0) 软件测试专业网站:51Testing软件测试网'Tsc(rq
      s+=b[0]; 软件测试专业网站:51Testing软件测试网5G]%j*fg)wk$Z
    else 软件测试专业网站:51Testing软件测试网q#i2kb@
      s+=256+b[0];
#iCo0kd+|i0    s*=256; 软件测试专业网站:51Testing软件测试网X%Zn?-k9h5q
    if(b[1]>0) 软件测试专业网站:51Testing软件测试网(E0v"C(Bv4Q
      s+=b[1];
+{`z$m a R0    else 软件测试专业网站:51Testing软件测试网D^j aODKA3T
      s+=256+b[1]; 软件测试专业网站:51Testing软件测试网\ hv8We}U)b
    char ch=(char)s; 软件测试专业网站:51Testing软件测试网#JLO"h;NH*AHb0LLt!m
    return ch; 软件测试专业网站:51Testing软件测试网$g,Mu0?JT#Ef&xi
  }

  //浮点到字节转换
de4w8L-MpD8{\0  public static byte[] doubleToByte(double d){ 软件测试专业网站:51Testing软件测试网,~9g3FuQ9q;sMCa
    byte[] b=new byte[8]; 软件测试专业网站:51Testing软件测试网 UY:}1oV:\ {-uZ7Ed
    long l=Double.doubleToLongBits(d);
ar8f3|"@b(g'L0    for(int i=0;i<b.length;i++){
%t4roUTU;zgxI0      b=new Long(l).byteValue(); 软件测试专业网站:51Testing软件测试网*I%@7R#} bb0P
      l=l>>8;
E$^+\"u!h!Y3^0    } 软件测试专业网站:51Testing软件测试网%])x)S)u)i,ul
    return b;
n`(]3K k`0  }

  //字节到浮点转换
KwV!^Kt2q#p j0  public static double byteToDouble(byte[] b){
:C.}9o GI9r0    long l;

    l=b[0]; 软件测试专业网站:51Testing软件测试网^4_/j4oL\*l b
    l&=0xff; 软件测试专业网站:51Testing软件测试网8x-fA;H.\
    l|=((long)b[1]<<8); 软件测试专业网站:51Testing软件测试网P\Z9tk
    l&=0xffff;
u;A&Vs3n.p]*K/B0    l|=((long)b[2]<<16);
)_ ^,F\ n3o0    l&=0xffffff;
` z3~*PIe aMK0    l|=((long)b[3]<<24);
DM!ldb&|U(A*J0    l&=0xffffffffl;
'i)k yh\0    l|=((long)b[4]<<32); 软件测试专业网站:51Testing软件测试网 T$D_Wr:M!_,E^a
    l&=0xffffffffffl;

    l|=((long)b[5]<<40); 软件测试专业网站:51Testing软件测试网g3m+GN$_)J1h,F.^(u.H d
    l&=0xffffffffffffl;
,gJ&o'u N7\Sp0    l|=((long)b[6]<<48);
:m@s7\WCt+B0    l&=0xffffffffffffffl;
,x)T:eO e2d![0    l|=((long)b[7]<<56);
}^MS.x%_7P0    return Double.longBitsToDouble(l); 软件测试专业网站:51Testing软件测试网Q)at;{k9Tq
  }

posted on 2008-02-22 15:06 晓宇 阅读(742) 评论(0)  编辑  收藏 所属分类: JAVA基础


只有注册用户登录后才能发表评论。


网站导航: