개발일기/Android

[Android] String형식으로 된 Hex값 확인하기

쌀덕이 2014. 1. 27. 16:39

애초에 만들때 Hex값을 String으로 변환할때 양식을 정한다음에 작성한 코드라 


크게 도움이 되지 않을 수 있다.


요약하자면 사용할 String 값만 Const시켜서 문자열로 만들어 둔뒤


IndexOf 메소드를 사용해 일치 여부를 비교하는 것이다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
private static final String ALLOW_HEX_CHAR = "0123456789abcdefABCDEF";
//uid ex) AA:9A:11:1F...(Hex값 8개)
    public static boolean isMathedUid(String uid){
        
        if(uid == null || uid == "")
            return false;
        
        boolean result = true;
        final byte colonChar = ':';        
        String temp = uid;
        
        //true = Hex, false = colon;
        boolean toogleCompare = true;
        int count = 0;
        for (char c : temp.toCharArray()) {
            count = (count + 1) % 3;
            toogleCompare = (count == 0) ? false : true;
 
            if (toogleCompare)
                result = ALLOW_HEX_CHAR.indexOf(c) > -1;
            else
                result = c == colonChar;
 
            //비교한 결과값이 false이면 더 이상 검색하지 않음.
            if (!result)
                break;
        }
 
        return result;
    }


혹시라도 비슷한 양식으로 Hex값을 비교하는 것이라면 가운데 colonChar만 변경하여 사용하면 될것같다 ^^;;