import java.util.Scanner;
public class Binary2Hex {
private static String hexStr = "0123456789ABCDEF";
/**
*
* @param bytes
* @return 将二进制转换为十六进制字符输出
*/
public static String BinaryToHexString(byte[] bytes){
String result = "";
String hex = "";
for(int i=0;i<bytes.length;i++){
//字节高4位
hex = String.valueOf(hexStr.charAt((bytes[i]&0xF0)>>4));
//字节低4位
hex += String.valueOf(hexStr.charAt(bytes[i]&0x0F));
result +=hex;
}
return result;
}
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
boolean flag = true;
while (flag) {
System.out.print("请输入一个二进制字符串:");
String str = sca.next();
System.out.println();
System.out.println("您输入的是字符串的十六进制为:"+BinaryToHexString(str.getBytes()));
System.out.print("是否继续转化(如果不继续请输入“exit”,继续的话输入任意字符):");
String _str = sca.next();
if (_str.equalsIgnoreCase("exit")) {
flag = false;
}
}
}
}
温馨提示:答案为网友推荐,仅供参考