java中十六进制和ASCII码互相转换。

来源:互联网 发布:电商平台用户数据分析 编辑:程序博客网 时间:2024/05/29 19:45
package com.test;public class StringToHex{  public 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();  }  public 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();  }  //504F533838383834  POS88884  public static void main(String[] args) {  StringToHex strToHex = new StringToHex();  System.out.println("\n-----ASCII码转换为16进制 -----");  String str = "POS88884";   System.out.println("字符串: " + str);  String hex = strToHex.convertStringToHex(str);  System.out.println("转换为16进制 : " + hex);  System.out.println("\n***** 16进制转换为ASCII *****");  System.out.println("Hex : " + hex);  System.out.println("ASCII : " + strToHex.convertHexToString(hex));  }}
阅读全文
0 0
原创粉丝点击