【常用的java方法——字符串前后补零,Ascii转16进制,16进制转Ascii,整型(int&long)转16进制,16进制转整型(int&long)】

常用的java方法——字符串前后补零,Ascii转16进制,16进制转Ascii,整型(int&long)转16进制,16进制转整型(int&long)

package com.test;

public class ManyClass{
    /**
     * 补零 (可前补,可后补)
     *
     * @param str  参与补零的字符串
     * @param len  长度
     * @param prev 是否前补
     * @return String
     */
    public String zeroFormat(String str, int len, boolean prev){
        int strLen = str.length();
        while (strLen < len) {
            StringBuilder stringBuffer = new StringBuilder();
            if (prev) {
                stringBuffer.append("0").append(str);
            } else {
                stringBuffer.append(str).append("0");
            }
            str = stringBuffer.toString();
            strLen = str.length();
        }
        return str;
    }
    /**
     * Ascii转16进制
     * @param str   ascii字符串
     * @return
     */
    public String asciiToHex(String str){
        char[] chars = str.toCharArray();

        StringBuilder hex = new StringBuilder();
        for (char aChar : chars) {
            hex.append(Integer.toHexString((int) aChar));
        }
        return hex.toString();
    }
    /**
     * 16进制转Ascii
     * @param hexStr    16进制字符串
     * @return
     */
    public String hexToAscii(String hexStr) {
        StringBuilder output = new StringBuilder("");
        for (int i = 0; i < hexStr.length(); i += 2) {
            String str = hexStr.substring(i, i + 2);
            output.append((char) Integer.parseInt(str, 16));
        }
        return output.toString();
    }
    /**
     * 整型转16进制
     * @param str1  整型串
     * @param size  16进制位数
     * @return
     */
    public String intToHex (long str1 ,int size) {
        String str = Long.toHexString(str1);
        if (str == null) {
            str = "";
        }
        int str_size = str.length();
        int pad_len = size - str_size;
        StringBuffer retvalue = new StringBuffer();
        for (int i = 0; i < pad_len; i++) {
            retvalue.append("0");
        }
        return retvalue.append(str).toString();
    }
    /**
     * 16进制转整型
     * @param str1  16进制字符串
     * @return
     */
    public long hexToInt (String str1) {
        long str = Long.parseUnsignedLong(str1, 16);
        return str;
    }
}
public class Test {

    public static void main(String[] args) {

        ManyClass sth = new ManyClass();
        System.out.println(sth.asciiToHex("A1"));
        System.out.println(sth.asciiToHex("A1").length()/2);
        System.out.println(sth.hexToAscii(sth.asciiToHex("A1")));
        System.out.println(sth.zeroFormat("3131332e333837373337342c32332e30353730343534", 100, false));
        System.out.println(sth.hexToInt("0fce"));
        System.out.println(sth.intToHex(4046,4));


    }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值