ip字符串与byte[]互转 和 mac字符串与byte[]互转

原创 2009年03月16日 22:07:00

//ip字符串转byte[]

String targetIPStr="192.168.1.1";
byte[] targetIP=new byte[4];
int i=0;
for(String str:targetIPStr.split("[.]")){
targetIP[i++]=(byte)(Integer.parseInt(str));
}


//mac字符串转byte[]

String targetMacStr="";
byte[] targetMac=new byte[6];
int j=0;
for(String str:targetMacStr.split("[:]")){
targetMac[j++]=(byte)(Integer.parseInt(str, 16));

 

static int byte2int(byte b){

if(b>=0){
return b;
}else{
return b+256;
}
}

 

static byte[] ipstr2ipbyte(String ipstr){
byte[] ip=new byte[4];
int i=0;
for(String str:ipstr.split("[.]")){
ip[i++]=(byte)Integer.parseInt(str);
}
return ip;
}

 

static String ipbyte2ipstr(byte[] ip){
String ipStr="";
for(int i=0;i<ip.length;i++){
ipStr+=Integer.toString(byte2int(ip[i]));
if(i<(ip.length-1)){
ipStr+=":";
}
}
return ipStr;
}

 

static byte[] macstr2macbyte(String macstr){
byte[] mac=new byte[6];
int i=0;
for(String str:macstr.split("[:]")){
mac[i++]=(byte)Integer.parseInt(str, 16);
}
return mac;
}

 

static String macbyte2macstr(byte[] mac){
String macStr="";
for(int i=0;i<mac.length;i++){
macStr+=Integer.toHexString(mac[i]&0xFF);
if(i<(mac.length-1)){
macStr+="-";
}
}
return macStr;
}

Java 字符串与byte之间的相互转换

写在前面你是否跟我一样,在一些需要加密的代码里看见需要把字符串转换为字节的场景,例如MD5加密。而你每次看到像我以前一样,自动地略过(反正别人都写好了,我用就是了)。如果是的话,不要再逃避了,下面跟我...
  • Leo_eight
  • Leo_eight
  • 2016年10月02日 19:09
  • 17169

字符串与byte[]之间的转换

同一个字符在不同的编码下会被编成不同长度的编码, 比如:ACSII,每个字符对应一个字节,实际上只使用了7位,从00h-7Fh。只能表达128个字符。 GB2312,中文的一种编码,每个字...
  • albert528108
  • albert528108
  • 2014年04月17日 16:04
  • 9178

Java学习篇之---byte与十六进制字符串之间互转

byte与十六进制字符串之间互转 byte,字节类型,占用8bit空间,可用8位2进制数表示;十六进制,每位占有4bit空间,可用4位2进制数表示。 我们可以把每个byte类型转换成两个相应的16进制...
  • A_little_e
  • A_little_e
  • 2015年06月03日 13:27
  • 1668

mac字符串与byte互转工具类

#include #include #include using namespace std; int ConvertXDigit2Number(const char * text) { ...
  • deerleaper
  • deerleaper
  • 2014年01月07日 10:06
  • 492

Java byte数组与十六进制字符串互转

Java 加密解密基础 Java byte数组与十六进制字符串互转 Java BASE64加密解密 Java 加密解密之消息摘要算法(MD5 SHA MAC) Java 加密解密之对称加密算法...
  • aubdiy
  • aubdiy
  • 2016年05月27日 23:23
  • 601

Java byte数组与十六进制字符串互转

Java 加密解密基础 Java byte数组与十六进制字符串互转 Java BASE64加密解密 Java 加密解密之消息摘要算法(MD5 SHA MAC) ...
  • JIESA
  • JIESA
  • 2016年11月14日 17:48
  • 1016

Java byte数组与十六进制字符串互转

字符串转换成十六进制字符串方法1:   /**       * 字符串转换成十六进制字符串      */       public static String str2HexStr(St...
  • u010082100
  • u010082100
  • 2017年06月09日 09:51
  • 137

密码学2——Java byte数组与十六进制字符串互转

Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示。 所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的...
  • xcy13638760
  • xcy13638760
  • 2014年12月15日 15:14
  • 543

Java byte数组与十六进制字符串互转

Java byte数组与十六进制字符串互转 Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示。 所以我们就可以把每个byte转换成两个相应的16进...
  • wangdaxia163
  • wangdaxia163
  • 2014年03月24日 17:48
  • 19649

Java 数据类型转换——byte[]/16进制/字符串互转

Java 数据类型转换——byte[]/16进制/字符串互转简介最近在做TCP通信,报文是以16进制数组的形式进行接收和发送的,其中在解析和组装报文的过程中就用到了各种数据类型的转换,在这里主要是总结...
  • C_control
  • C_control
  • 2017年05月23日 15:06
  • 465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ip字符串与byte[]互转 和 mac字符串与byte[]互转
举报原因:
原因补充:

(最多只允许输入30个字)