ASCII、十六进制、字节数组、字符数组相互转换

来源:互联网 发布:php post header 编辑:程序博客网 时间:2024/06/06 16:29
/** * 字符串转换为Ascii * @param value * @return */public static String stringToASCII(String value)  {  StringBuffer sbu = new StringBuffer();  char[] chars = value.toCharArray();   for (int i = 0; i < chars.length; i++) {  //if(i != chars.length - 1)  //{  //sbu.append((int)chars[i]).append(",");  //}//else{//}sbu.append((int)chars[i]);  }return sbu.toString();}

字符串转换为ASCII


/** * 字符串转换为十六进制 * @param value * @return */public static String convertStringToHex(String str) {  char[] chars = str.toCharArray();  StringBuffer hex = new StringBuffer();  for (int i = 0; i < chars.length; i++) {  hex.append(Integer.toHexString((int) chars[i]));  }  return hex.toString();  } 

字符串转换为十六进制


/** * 十六进制转换为字符串 * @param value * @return */public static String convertHexToString(String hex) {  StringBuilder sb = new StringBuilder();  StringBuilder temp = new StringBuilder();  // 49204c6f7665204a617661 split into two characters 49, 20, 4c...  for (int i = 0; i < hex.length() - 1; i += 2) {  // grab the hex in pairs  String output = hex.substring(i, (i + 2));  // convert hex to decimal  int decimal = Integer.parseInt(output, 16);  // convert the decimal to character  sb.append((char) decimal);  temp.append(decimal);  }  return sb.toString();  }

十六进制转换为字符串


// char转bytepublic static byte[] getBytes (char[] chars) {Charset cs = Charset.forName ("UTF-8");CharBuffer cb = CharBuffer.allocate(chars.length);cb.put(chars);cb.flip();ByteBuffer bb = cs.encode(cb);  return bb.array();}

字符数组转换为字节数组


// byte转charpublic static char[] getChars(byte[] bytes) {Charset cs = Charset.forName ("UTF-8");ByteBuffer bb = ByteBuffer.allocate(bytes.length);bb.put(bytes);bb.flip();CharBuffer cb = cs.decode(bb);  return cb.array();}

字节数组转换为字符数组




// 十进制转化为十六进制,结果为C8。Integer.toHexString(200); // 十六进制转化为十进制,结果140。Integer.parseInt("8C",16)




1 0
原创粉丝点击