java 二进制十六进制互转

Posted 小金儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 二进制十六进制互转相关的知识,希望对你有一定的参考价值。

import java.util.Arrays;

public class BinHexSwitchUtil {
    public static String bytesToHexString(byte[] bytes){
        if (bytes==null || bytes.length==0){
            return null;
        }
        String result="";
        for (byte b:bytes){
            int temp=b & 0xFF;
            String tempStr=Integer.toHexString(temp);
//            System.out.println("tempStr:"+tempStr);
            if (tempStr.length()==1){//如果转换完了是 一位数 需要前面加 0
                result+="0"+tempStr;
            }else {
                result+=tempStr;
            }
        }
        return result;
    }
    public static byte[] hexStringTobytes(String hexString){
        if (hexString==null || hexString.length()==0){
            return null;
        }
        byte[] result=new byte[hexString.length()/2];
        for (int i=0,foot=0;i<hexString.length();i+=2,foot++){
            String temp=hexString.substring(i,i+2);//切割 16进制 二位为一个单位转换
            result[foot]=(byte) Integer.parseInt(temp,16);
        }
        return result;
    }

    public static void main(String[] args) {
        String value="a2	cdefghijklmnxyz";
        System.out.println("value 2进制:"+Arrays.toString(value.getBytes()));
        String hexStr=bytesToHexString(value.getBytes());
        System.out.println("value 16进制:"+hexStr);

        System.out.println("value转回二进制:"+Arrays.toString(hexStringTobytes(hexStr)));
        System.out.println("value转回二进制:"+new String(hexStringTobytes(hexStr)));
        System.out.println((byte)Integer.parseInt("-129"));

    }
}

 

以上是关于java 二进制十六进制互转的主要内容,如果未能解决你的问题,请参考以下文章

java十进制二进制互转

Java File ,byte[] , 二进制字符串之间互转

java-RGB与十六进制的互相转换 / 颜色十进制 / 十六进制 互转

最全面的Java字节byte操作,处理Java基本数据的转换及进制转换操作工具,流媒体及java底层开发项目常用工具类

JAVA里16进制和字节数组互转

java中byte[] 和16进制字符串互转