1. 程式人生 > >看呀藍芽串列埠通訊中的16進位制轉化

看呀藍芽串列埠通訊中的16進位制轉化

//16string-byte
     public static byte[] HexCommandtoByte(byte[] data) {
         if (data == null) {
             return null;
         }
         int nLength = data.length;

         String strTemString = new String(data, 0, nLength);
         String[] strings = strTemString.split(" ");
         nLength = strings.length;
         data = new byte[nLength];
         for (int i = 0; i < nLength; i++) {
             if (strings[i].length() != 2) {
                 data[i] = 00;
                 continue;
             }
             try {
                 data[i] = (byte) Integer.parseInt(strings[i], 16);
             } catch (Exception e) {
                 data[i] = 00;
                 continue;
             }
         }

         return data;
     }
     
      /**
         * 陣列轉成十六進位制字串
         * @param byte[]
         * @return HexString
         */
        public static String toHexString1(byte[] b){
            StringBuffer buffer = new StringBuffer();
            for (int i = 0; i < b.length; ++i){
                buffer.append(toHexString1(b[i]));
            }
            return buffer.toString();
        }
        public static String toHexString1(byte b){
            String s = Integer.toHexString(b & 0xFF);
            if (s.length() == 1){
                return "0" + s;
            }else{
                return s;
            }
        }