package com.chenyang.nse.bussiness.tools.string;

public class ParseSystemUtil {
   public static String parseByte2HexStr(byte[] buf) {
      StringBuffer sb = new StringBuffer();

      for(int i = 0; i < buf.length; ++i) {
         String hex = Integer.toHexString(buf[i] & 255);
         if (hex.length() == 1) {
            hex = '0' + hex;
         }

         sb.append(hex.toUpperCase());
      }

      return sb.toString();
   }

   public static byte[] parseHexStr2Byte(String hexStr) {
      if (hexStr.length() < 1) {
         return null;
      } else {
         byte[] result = new byte[hexStr.length() / 2];

         for(int i = 0; i < hexStr.length() / 2; ++i) {
            int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16);
            int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2), 16);
            result[i] = (byte)(high * 16 + low);
         }

         return result;
      }
   }
}
