java二进制,字节数组,字符,十六进制,BCD编码转换

  1. //整数到字节数组转换
  2. publicstaticbyte[]int2bytes(intn){
  3. byte[]ab=newbyte[4];
  4. ab[0]=(byte)(0xff&n);
  5. ab[1]=(byte)((0xff00&n)>>8);
  6. ab[2]=(byte)((0xff0000&n)>>16);
  7. ab[3]=(byte)((0xff000000&n)>>24);
  8. returnab;
  9. }
  10. //字节数组到整数的转换
  11. publicstaticintbytes2int(byteb[]){
  12. ints=0;
  13. s=((((b[0]&0xff)<<8|(b[1]&0xff))<<8)|(b[2]&0xff))<<8
  14. |(b[3]&0xff);
  15. returns;
  16. }
  17. //字节转换到字符
  18. publicstaticcharbyte2char(byteb){
  19. return(char)b;
  20. }
  21. privatefinalstaticbyte[]hex="0123456789ABCDEF".getBytes();
  22. privatestaticintparse(charc){
  23. if(c>='a')
  24. return(c-'a'+10)&0x0f;
  25. if(c>='A')
  26. return(c-'A'+10)&0x0f;
  27. return(c-'0')&0x0f;
  28. }
  29. //从字节数组到十六进制字符串转换
  30. publicstaticStringBytes2HexString(byte[]b){
  31. byte[]buff=newbyte[2*b.length];
  32. for(inti=0;i<b.length;i++){
  33. buff[2*i]=hex[(b[i]>>4)&0x0f];
  34. buff[2*i+1]=hex[b[i]&0x0f];
  35. }
  36. returnnewString(buff);
  37. }
  38. //从十六进制字符串到字节数组转换
  39. publicstaticbyte[]HexString2Bytes(Stringhexstr){
  40. byte[]b=newbyte[hexstr.length()/2];
  41. intj=0;
  42. for(inti=0;i<b.length;i++){
  43. charc0=hexstr.charAt(j++);
  44. charc1=hexstr.charAt(j++);
  45. b[i]=(byte)((parse(c0)<<4)|parse(c1));
  46. }
  47. returnb;
  48. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值