문자의 유니코드 수를 읽어서 판단할 수 있습니다.


[ 다음 글들 ] [ 이어서 글올리기(답하기) ] [ 자바 묻고 답하기 ]

글쓴이 :윤경구 1998년 3월 27일 19:28:51

In Reply to: [질문]어떤String이 한글인지 영문인지 검사하는 루틴? posted by 이연호 on 1998년 3월 27일 15:42:54:

자바에서 각 문자는 내부적으로 유니코드값으로 저장되므로
char의 값을 유니코드 테이블과 비교해보면 이것이 영어인지 한글인지 혹은 한자인지 알수 있을 것입니다.
(질문은 단어가 한글인지 영문인지를 묻는데
단어는 물론 한영이 섞여 있을 수도 있고 자바 내부에서는
유니코드로 처리되므로 큰 의미가 없을 것입니다.


// charTest.java

class charTest {
	public static void main(String args[]) {
		for (int i=0;i<args.length;i++) {
			System.out.println("args["+i+"]="+args[i]);	
			char[] charArray=args[i].toCharArray();
			for (int j=0; j<charArray.length; j++) {
				System.out.print(" 0x"+Integer.toHexString((int)charArray[j]));
				if (charArray[j]>='A' && charArray[j]<='z')
					System.out.print("(English)");
				else if (charArray[j]>='\uAC00' && charArray[j]<='\uD7A3')
					System.out.print("(한글)");
			}
			System.out.println("");
		}
	}
}

실행 예
C:\javaworks>java charTest AbZz 가나다라한글
args[0]=AbZz
0x41(English) 0x62(English) 0x5a(English) 0x7a(English)
args[1]=가나다라한글
0xac00(한글) 0xb098(한글) 0xb2e4(한글) 0xb77c(한글) 0xd55c(한글) 0xae00(한글)



다음 글들:



이어서 글올리기(답하기)

이름:
E-Mail:
제목:
내용:
관련 URL(선택):
URL 제목(선택):
관련 이미지 URL:


[ 다음 글들 ] [ 이어서 글올리기(답하기) ] [ 자바 묻고 답하기 ]