码迷,mamicode.com
首页 > 编程语言 > 详细

java 二进制、十六进制互转

时间:2020-07-03 15:29:02      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:new   十六进制   color   16进制   substr   style   test   imp   切割   

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\tcdefghijklmnxyz";
        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 二进制、十六进制互转

标签:new   十六进制   color   16进制   substr   style   test   imp   切割   

原文地址:https://www.cnblogs.com/xiaoxiao075/p/13230454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!