java.lang.Character.UnicodeBlock 객체 테스트용 코드
package lang;
/**
* @author seveny
* @date 2003. 01. 21
*
* java.lang.Character.UnicodeBlock 객체 테스트용 코드
*
*
* of
*
* public static Character.
* UnicodeBlock of(char c)Returns the object
* representing the Unicode block containing the given character,
* or null if the character is not a member of a defined block.
*
* Parameters:
* c - The character in question
*
* Returns:
* The UnicodeBlock instance representing the Unicode block of
* which this character is a member, or null if the character is not a member of
* any Unicode block
*/
public class TestUnicodeBlock {
/**
* 실행 함수
*
* String(byte[] bytes, String charsetName) 때문에 java.io.
* UnsupportedEncodingException을 처리하도록 수정
*
* @param args
* @throws UnsupportedEncodingException
*/
public static void main(String[] args) throws java.io.UnsupportedEncodingException {
String testStr = "테스트 문자열입니다 12345 abcde";
char testChar;
System.out.println("****************************************");
System.out.println("**************** EUC-KR ****************");
String encoStrEuckr = new String(testStr.getBytes(), "euc-kr");
int strLength = encoStrEuckr.length();
for (int i = 0; i < strLength; i++ ) {
testChar = encoStrEuckr.charAt(i);
System.out.println(i + " : " + testChar + " - " + java.lang.Character.UnicodeBlock.of(testChar));
}
System.out.println("****************************************");
System.out.println("**************** 8859_1 ****************");
String encoStr8859 = new String(testStr.getBytes(), "8859_1");
strLength = encoStr8859.length();
for (int i = 0; i < strLength; i++ ) {
testChar = encoStr8859.charAt(i);
System.out.println(i + " : " + testChar + " - " + java.lang.Character.UnicodeBlock.of(testChar));
}
System.out.println("****************************************");
System.out.println("**************** utf-8 *****************");
String encoStrUtf8 = new String(testStr.getBytes(), "utf8");
strLength = encoStrUtf8.length();
for (int i = 0; i < strLength; i++ ) {
testChar = encoStrUtf8.charAt(i);
System.out.println(i + " : " + testChar + " - " + java.lang.Character.UnicodeBlock.of(testChar));
}
}
}
실행결과
-----------------------------------------------------------
****************************************
**************** EUC-KR ****************
0 : 테 - HANGUL_SYLLABLES
1 : 스 - HANGUL_SYLLABLES
2 : 트 - HANGUL_SYLLABLES
3 : - BASIC_LATIN
4 : 문 - HANGUL_SYLLABLES
5 : 자 - HANGUL_SYLLABLES
6 : 열 - HANGUL_SYLLABLES
7 : 입 - HANGUL_SYLLABLES
8 : 니 - HANGUL_SYLLABLES
9 : 다 - HANGUL_SYLLABLES
10 : - BASIC_LATIN
11 : 1 - BASIC_LATIN
12 : 2 - BASIC_LATIN
13 : 3 - BASIC_LATIN
14 : 4 - BASIC_LATIN
15 : 5 - BASIC_LATIN
16 : - BASIC_LATIN
17 : a - BASIC_LATIN
18 : b - BASIC_LATIN
19 : c - BASIC_LATIN
20 : d - BASIC_LATIN
21 : e - BASIC_LATIN
****************************************
**************** 8859_1 ****************
0 : ? - LATIN_1_SUPPLEMENT
1 : × - LATIN_1_SUPPLEMENT
2 : ½ - LATIN_1_SUPPLEMENT
3 : º - LATIN_1_SUPPLEMENT
4 : Æ - LATIN_1_SUPPLEMENT
5 : ? - LATIN_1_SUPPLEMENT
6 : - BASIC_LATIN
7 : ¹ - LATIN_1_SUPPLEMENT
8 : ? - LATIN_1_SUPPLEMENT
9 : ? - LATIN_1_SUPPLEMENT
10 : ? - LATIN_1_SUPPLEMENT
11 : ¿ - LATIN_1_SUPPLEMENT
12 : - LATIN_1_SUPPLEMENT
13 : ? - LATIN_1_SUPPLEMENT
14 : ? - LATIN_1_SUPPLEMENT
15 : ´ - LATIN_1_SUPPLEMENT
16 : ? - LATIN_1_SUPPLEMENT
17 : ´ - LATIN_1_SUPPLEMENT
18 : ? - LATIN_1_SUPPLEMENT
19 : - BASIC_LATIN
20 : 1 - BASIC_LATIN
21 : 2 - BASIC_LATIN
22 : 3 - BASIC_LATIN
23 : 4 - BASIC_LATIN
24 : 5 - BASIC_LATIN
25 : - BASIC_LATIN
26 : a - BASIC_LATIN
27 : b - BASIC_LATIN
28 : c - BASIC_LATIN
29 : d - BASIC_LATIN
30 : e - BASIC_LATIN
****************************************
**************** utf-8 *****************
0 : ? - SPECIALS
1 : ? - HEBREW
2 : ? - SPECIALS
3 : ? - LATIN_EXTENDED_B
4 : - BASIC_LATIN
5 : ? - SPECIALS
6 : ? - SPECIALS
7 : ? - SPECIALS
8 : ? - ARABIC
9 : ? - SPECIALS
10 : ? - SPECIALS
11 : ? - ARMENIAN
12 : ? - GREEK
13 : ? - SPECIALS
14 : - BASIC_LATIN
15 : 1 - BASIC_LATIN
16 : 2 - BASIC_LATIN
17 : 3 - BASIC_LATIN
18 : 4 - BASIC_LATIN
19 : 5 - BASIC_LATIN
20 : - BASIC_LATIN
21 : a - BASIC_LATIN
22 : b - BASIC_LATIN
23 : c - BASIC_LATIN
24 : d - BASIC_LATIN
25 : e - BASIC_LATIN
--------------------------------------------------------------------
원래 이 코드를 작성하려고 했던 이유는..
현재 한개의 스트링이 어떤 코드(인코딩)일까 찾기 위해서였는데..
그걸 처리할수 있는 방법이 뭘까 생각하다가
이 객체를 보고 한번 테스트 해본 결과입니다.