毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 移动平台 >> 正文

android里如何将int转换为char的16进制,将string类型的转byte[]的算法 第2页

更新时间:2012-6-4:  来源:毕业论文
.char a = (char)Integer.parseInt(i, 16);//i是你给出的十进制数
2.此方法我因为经常用到故设置为静态方法

Java code
    /**
     * 把字符串去空格后转换成byte数组。如"37   5a"转成[0x37][0x5A]
     * @param s
     * @return
     */
    public static byte[] string2bytes(String s){
        String ss = s.replace(" ", "");
        int string_len = ss.length();
        int len = string_len/2;
        if(string_len%2 ==1){
            ss = "0"+ss;
            string_len++;
            len++;
        }
        byte[] a = new byte[len];
        for(int i=0;i<len;i++){
            a[i] = (byte)Integer.parseInt(ss.substring(2*i,2*i+2), 16);
        }
        return a;
    }

 

3.顺便附赠与楼主要求2相反的两个方法,在调试输出十六进制数据时很有用

Java code
    /**
     * 16进制数组转化成字符串(大写字母),比如[0x03][0x3f]转化成"33F"
     * @param b
     * @return
     */
    public static String hex2HexString(byte[] b) {
        int len = b.length;
        int[] x = new int[len];
        String[] y = new String[len];
        StringBuilder str = new StringBuilder();
        // 转换成Int数组,然后转换成String数组
        for (int j = 0; j < len; j++) {
            x[j] = b[j] & 0xff;
            y[j] = Integer.toHexString(x[j]);
            while (y[j].length() < 2) {
                y[j] = "0" + y[j];
            }
            str.append(y[j]);
        }
        //如果是以"0"开头,则弃掉"0"
        while(str.indexOf("0")==0){
            str = str.delete(0, 1);
        }
        return new String(str).toUpperCase();//toUpperCase()方法  转化成大写
    }
   
    /**
     * 16进制数组转化成调试用字符串(大写字母),比如[0x03][0x3f]转化成"03 3F"
     * @param b
     * @return
     */
    public static String hex2DebugHexString(byte[] b) {
        int len = b.length;
        int[] x = new int[len];
        String[] y = new String[len];
        StringBuilder str = new StringBuilder();
        // 转换成Int数组,然后转换成String数组
        int j = 0;
        for (; j < len; j++) {
            x[j] = b[j] & 0xff;
            y[j] = Integer.toHexString(x[j]);
            while (y[j].length() < 2) {
                y[j] = "0" + y[j];
            }
            str.append(y[j]);
            str.append(" ");
        }
        return new String(str).toUpperCase();//toUpperCase()方法  转化成大写
    }

上一页  [1] [2] 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。