⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.java

📁 联通H2接口规范的java实现
💻 JAVA
字号:
package com.sxit.nmunicom.h2;
public final class Common {
    private static final char chars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E',
            'F' };
    public static String byte2hex(byte b) {
        char hex[] = new char[2];
        hex[0] = chars[(new Byte(b).intValue() & 0xf0) >> 4];
        hex[1] = chars[new Byte(b).intValue() & 0xf];
        return new String(hex);
    }
    public static String bytes2hex(byte[] b) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < b.length; i++) {
            sb.append(byte2hex(b[i]));
            sb.append(" ");
        }
        return sb.toString();
    }
    /**
     * 将字符串转化成特定长度的byte[],如果value的长度小于idx,则右补零。比如 getText(5,"1"),结果为{49,0,0,0,0}; 如果value的长度大于idx,则截取掉一部分。比如
     * getText(2,"11111"),结果为{49,49};
     * 
     * @param idx
     *            转化后byte[]的长度
     * @param value
     *            要转化的字符串
     * @return byte[]
     */
    public static byte[] getText(int idx, String value) {
        byte[] b1 = new byte[idx];
        int i = 0;
        if (value != null || !value.equals("")) {
            byte[] b2 = value.getBytes();
            while (i < b2.length && i < idx) {
                b1[i] = b2[i];
                i++;
            }
        }
        while (i < b1.length) {
            b1[i] = 0;
            i++;
        }
        return b1;
    }

    /**
     * 8位的byte[]数组转换成long型
     * 
     * @param mybytes
     * @return long
     */
    public static long bytes8ToLong(byte mybytes[]) {
        long tmp = (0xff & mybytes[0]) << 56 | (0xff & mybytes[1]) << 48 | (0xff & mybytes[2]) << 40
                | (0xff & mybytes[3]) << 32 | (0xff & mybytes[4]) << 24 | (0xff & mybytes[5]) << 16
                | (0xff & mybytes[6]) << 8 | 0xff & mybytes[7];
        return tmp;
    }

    /**
     * long类型转化成8个字节
     * 
     * @param i
     *            要转化的长整形
     * @return byte[]
     */
    public static byte[] longToBytes8(long i) {
        byte mybytes[] = new byte[8];
        mybytes[7] = (byte) (int) ((long) 255 & i);
        mybytes[6] = (byte) (int) (((long) 65280 & i) >> 8);
        mybytes[5] = (byte) (int) (((long) 0xff0000 & i) >> 16);
        mybytes[4] = (byte) (int) (((long) 0xff000000 & i) >> 24);
        int high = (int) (i >> 32);
        mybytes[3] = (byte) (0xff & high);
        mybytes[2] = (byte) ((0xff00 & high) >> 8);
        mybytes[1] = (byte) ((0xff0000 & high) >> 16);
        mybytes[0] = (byte) ((0xff000000 & high) >> 24);
        return mybytes;
    }

    /**
     * int转化成4个字节的数组
     * 
     * @param i
     *            要转化的整形变量
     * @return byte[]
     */

    public static byte[] intToBytes4(int i) {
        byte mybytes[] = new byte[4];
        mybytes[3] = (byte) (0xff & i);
        mybytes[2] = (byte) ((0xff00 & i) >> 8);
        mybytes[1] = (byte) ((0xff0000 & i) >> 16);
        mybytes[0] = (byte) ((0xff000000 & i) >> 24);
        return mybytes;
    }

    /**
     * byte数组转化成int类型
     * 
     * @param mybytes
     *            要转化的
     * @return int
     */
    public static int bytes4ToInt(byte mybytes[]) {
        int tmp = (0xff & mybytes[0]) << 24 | (0xff & mybytes[1]) << 16 | (0xff & mybytes[2]) << 8 | 0xff & mybytes[3];
        return tmp;
    }
    
    /**
     * 右补空格
     * @param value
     * @param length
     * @return
     */
    public static String addRightSpace(String value,int length){
    	if (value == null) {
    		value = "";
    	}
        if (value.length() > length) {
            return value.substring(0, length);
        }
        char[] c = new char[length];
        System.arraycopy(value.toCharArray(), 0, c, 0, value.length());
        for (int i = value.length(); i < c.length; i++) {
            c[i] = ' ';
        }
        return new String(c);
    }
    
    /**
     * 左填0
     * @param s
     * @param length
     * @return
     */
    public static String addLeftZero(String s,int length){
//    	StringBuilder sb=new StringBuilder();
    	int old=s.length();
    	if(length>old){
    	    char[] c = new char[length];
 	        char[] x = s.toCharArray();
 	       if (x.length > length) {
	        	throw new IllegalArgumentException("Numeric value is larger than intended length: " + s + " LEN " + length);
	        }
	        int lim = c.length - x.length;
	        for (int i = 0; i < lim; i++) {
	            c[i] = '0';
	        }
	        System.arraycopy(x, 0, c, lim, x.length);
	        return new String(c);
    	}
    	return s.substring(0,length);
    	
    }
    
 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -