• 字节流、字符串、16进制字符串转换__Java(转)


    Java代码  收藏代码
    1. /** 
    2.  * @Package: 
    3.  * @ClassName:TypeConversion 
    4.  * @Description:字节流、字符串、16进制字符串转换 
    5.  * @author:xk 
    6.  * @date:Jan 8, 2013 5:00:08 PM 
    7.  */  
    8. public class TypeConversion {  
    9.     /** 
    10.      * @Title:bytes2HexString 
    11.      * @Description:字节数组转16进制字符串 
    12.      * @param b 
    13.      *            字节数组 
    14.      * @return 16进制字符串 
    15.      * @throws 
    16.      */  
    17.     public static String bytes2HexString(byte[] b) {  
    18.         StringBuffer result = new StringBuffer();  
    19.         String hex;  
    20.         for (int i = 0; i < b.length; i++) {  
    21.             hex = Integer.toHexString(b[i] & 0xFF);  
    22.             if (hex.length() == 1) {  
    23.                 hex = '0' + hex;  
    24.             }  
    25.             result.append(hex.toUpperCase());  
    26.         }  
    27.         return result.toString();  
    28.     }  
    29.   
    30.     /** 
    31.      * @Title:hexString2Bytes 
    32.      * @Description:16进制字符串转字节数组 
    33.      * @param src 
    34.      *            16进制字符串 
    35.      * @return 字节数组 
    36.      * @throws 
    37.      */  
    38.     public static byte[] hexString2Bytes(String src) {  
    39.         int l = src.length() / 2;  
    40.         byte[] ret = new byte[l];  
    41.         for (int i = 0; i < l; i++) {  
    42.             ret[i] = (byte) Integer  
    43.                     .valueOf(src.substring(i * 2, i * 2 + 2), 16).byteValue();  
    44.         }  
    45.         return ret;  
    46.     }  
    47.   
    48.     /** 
    49.      * @Title:string2HexString 
    50.      * @Description:字符串转16进制字符串 
    51.      * @param strPart 
    52.      *            字符串 
    53.      * @return 16进制字符串 
    54.      * @throws 
    55.      */  
    56.     public static String string2HexString(String strPart) {  
    57.         StringBuffer hexString = new StringBuffer();  
    58.         for (int i = 0; i < strPart.length(); i++) {  
    59.             int ch = (int) strPart.charAt(i);  
    60.             String strHex = Integer.toHexString(ch);  
    61.             hexString.append(strHex);  
    62.         }  
    63.         return hexString.toString();  
    64.     }  
    65.   
    66.     /** 
    67.      * @Title:hexString2String 
    68.      * @Description:16进制字符串转字符串 
    69.      * @param src 
    70.      *            16进制字符串 
    71.      * @return 字节数组 
    72.      * @throws 
    73.      */  
    74.     public static String hexString2String(String src) {  
    75.         String temp = "";  
    76.         for (int i = 0; i < src.length() / 2; i++) {  
    77.             temp = temp  
    78.                     + (char) Integer.valueOf(src.substring(i * 2, i * 2 + 2),  
    79.                             16).byteValue();  
    80.         }  
    81.         return temp;  
    82.     }  
    83.       
    84.     /** 
    85.      * @Title:char2Byte 
    86.      * @Description:字符转成字节数据char-->integer-->byte 
    87.      * @param src 
    88.      * @return 
    89.      * @throws 
    90.      */  
    91.     public static Byte char2Byte(Character src) {  
    92.         return Integer.valueOf((int)src).byteValue();  
    93.     }  
    94.       
    95.         /** 
    96.      * @Title:intToHexString 
    97.      * @Description:10进制数字转成16进制 
    98.      * @param a 转化数据 
    99.      * @param len 占用字节数 
    100.      * @return 
    101.      * @throws 
    102.      */  
    103.     private static String intToHexString(int a,int len){  
    104.         len<<=1;  
    105.         String hexString = Integer.toHexString(a);  
    106.         int b = len -hexString.length();  
    107.         if(b>0){  
    108.             for(int i=0;i<b;i++)  {  
    109.                 hexString = "0" + hexString;  
    110.             }  
    111.         }  
    112.         return hexString;  
    113.     }  
    114.       
    115.       
    116.     public static void main(String args[]) {  
    117.         System.out.println(hexString2String("3133383131313536373838"));  
    118.     }  
    119. }  

    转自:http://hunray.iteye.com/blog/1849585

  • 相关阅读:
    [转]群控电梯调度算法
    [转] 电梯调度算法总结
    [转]grub2.0和之前版本修复解决方案
    [转]Ubuntu 10.04 编译安装最新版本Linux2.6.34内核
    [转]PS2 键盘工作方式
    [转]个人管理 - 目标管理之前,你会时间管理吗
    [转]ubuntu 下编译内核简单步骤
    [转]关闭Google安全搜索,实现无限制搜索
    [转]Vim 复制粘贴探秘
    [转]Linux文件搜索
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/4250596.html
Copyright © 2020-2023  润新知