/** * 16进制转换 * @author QuRui * */ public class ToHexConverter { /** * 16进制数值长度 */ private static Integer hexLength = 2; /** * 十六进制字符串 */ private String hexStr; /** * 单字符串转16进制 * @param s * @return */ public static String toHex(String s){ String str = ""; for (int i = 0; i < s.length(); i++) { int ch = (int) s.charAt(i); String s4 = Integer.toHexString(ch); str = str + s4; } return str; } /** * 数值转十六进制 * @param number * @return String */ public static String toHex(int number){ String hexNumber = Integer.toHexString(number); int lenDiff = getHexLength() - hexNumber.length(); //补位 if (lenDiff>0){ for (int i=0;i<lenDiff;i++){ hexNumber = "0" + hexNumber; } } return hexNumber; } /** * 将字符串转换为16进制字符串(按位转换) * @param str * @return */ public String convertToHex(String str){ //将字符串分割为单个字符逐一进行转换 int strLen = str.length(); String hex = ""; for (int i=0;i<strLen;i++){ String singleStr = str.substring(i, i+1); //识别是否是数字 if (isNumberic(singleStr)){ hex += toHex(Integer.parseInt(singleStr)); }else{ hex += toHex(singleStr); } } return hex; } /** * 将字符串中的每个字符逐一转换为十六进制 * @param str * @return */ public String convertEveryCharacterToHex(String str){ //将字符串分割为单个字符逐一进行转换 int strLen = str.length(); String hex = ""; for (int i=0;i<strLen;i++){ String singleStr = str.substring(i, i+1); hex += toHex(singleStr); } return hex; } /** * 将十六进制字符串逐一字符转换为十六进制 * @param hex * @return String */ public String convertHexStrToHex(String hex){ //将字符串分割为单个字符逐一进行转换 int hexLen = hex.length(); String hexStr = ""; for (int i=0;i<hexLen;i++){ String singleStr = hex.substring(i, i+1); hexStr += toHex(singleStr); } return hexStr; } /** * 判断字串中的内容是否是数字 * @param str * @return Boolean */ public static boolean isNumberic(String str){ for (int i=str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } public static Integer getHexLength() { return hexLength; } public void setHexLength(Integer hexLength) { this.hexLength = hexLength; } public String getHexStr() { return hexStr; } public void setHexStr(String hexStr) { this.hexStr = hexStr; } }