학교에서 과제 내 주는데,
UTF-8이 이해가 안되서 .........
UTF-8에서 한글 1글자의 크기가 8로 알고있는데,
완성된 한글(가,나,다,라,않,음,숯 등등 받침으로써의 자음이없는경우부터 ~ 이중자음까지)은
모두 8로 알고있는데,
완성되지 않은 한글(ㄱ,ㅏ,ㅒ,ㅃ,ㅇ 등등 조합이 되지않은 한글)도 크기가 8이지 않나???
그게 아니라면 크기가 몇인가효?
UTF-8, 유니코드.... 이런문제들이 거의다 고득점이라서........
이해하고 풀고싶은 욕망이 가득함.......
저기 \'문제가요구하는 문자의영역\'의 주소값들을
포인터로 지정한다음에
일일이 비교해서 맞으면출력하고 아니면 걸러내는건가?
근데 저 주소값들중에 단일자음이나 단일모음도 있지않은가?
이게 제 질문의 핵심임미다 ㅠ_ㅠ
문제 26)
문장을 입력받고 해당 문장에서 한국어 문자가 몇개인지 출력하고 한국어 문자만을 출력하라. 이 문제에서 입력 문장에는 공백이 포함될 수도 있다.
이 때, 본 문제에서의 한국어 문자는 자소 단위(\'ㅏ\',\'ㅔ\',\'ㅣ\',\'ㅗ\',\'ㅜ\' 등)나 첫가끝(\'ㄱ\',\'ㄴ\', \'ㄷ\' 등)과 같이 쓰는 것은 문자를 제외한 한글 문자를 말한다.
경고 : 반드시 본 실습서버의 환경에서만 코딩한다. 절대 윈도우즈 환경에서 코딩하지 않는다.
힌트 : UTF-8에서 한국어는 3바이트로 표현된다. 이 영역은 이진수로 \"1110???? 10?????? 10??????\" 과 같은 형태로 표기되며, ? 는 유니코드라고 한다. 이 유니코드에서 해당 문제가 요구하는 문자의 영역은 0xAC00에서 0xD7AF 영역이다. 0xAC00 를 UTF-8 형태로 표기하면 \"11101010 10110000 10000000\" 이며, 0xD7AF는 \"11101011 10011110 10101111\" 이 된다.(글자색은 해당 16진수에 대한 2진수로 표기했을 때 UTF-8 코드에서 위치되는 정보를 의미하며, 16진수는 1자가 1/2바이트 2진수는 공백단위로 8개의 숫자묶음이 1바이트를 의미한다.)
참고자료 : http://ko.wikipedia.org/wiki/UTF-8
입력 예제
124df한글만세^Z^☆あ韓\"!Шшㄱㄱㄱㄴㄴㄷㄷㅏㅏㅏ한글조아
출력예제
8^한글만세한글조아
utf8은 조합형 euc-kr은 완성혀
즉 가변이니까 알아서 잘 쓰면 된다