Java基本データのビット演算

908 ワード

  • byte配列回転16進文字列:
  • final protected static char[] hexArray = "0123456789ABCDEF".toCharArray();  
    public static String bytesToHex(byte[] bytes) {  
        char[] hexChars = new char[bytes.length * 2];  
        for ( int j = 0; j < bytes.length; j++ ) {  
            int v = bytes[j] & 0xFF;  
            hexChars[j * 2] = hexArray[v >>> 4];  
            hexChars[j * 2 + 1] = hexArray[v & 0x0F];  
        }  
        return new String(hexChars);  
    } 
    
  • 16進文字列回転byte配列
  • public static byte[] toBytes(String str) { 
        if (str == null || str.trim().equals("")) { 
            return new byte[0];
        }
        byte[] bytes = new byte[str.length() / 2];
        for (int i = 0; i < str.length() / 2; i++) {
             String subStr = str.substring(i * 2, i * 2 + 2);
             bytes[i] = (byte) Integer.parseInt(subStr, 16);
        }
        return bytes;
    }