콘텐츠로 건너뛰기
Home » 유니코드

유니코드

유니코드 관련 문답

몇 가지 질문들

여기까지 풀어놓은 이야기들은 이전에도 몇 번 한 적이 있고, 다른 곳에서도 들을 수 있는 이야기들이었는데…. 문제는 이런 글을 읽어도 늘 아리송하고 헷갈리는게 하나 둘이 아니라는 점이다. 그래서 FAQ 형식으로 몇 가지 질문을 살펴보도록 하자.
더 보기 »유니코드 관련 문답

유니코드 문자열과 문자열 인코딩

컴퓨터는 어떻게 글자를 표현할까 컴퓨터가 처리하는 모든 데이터는 궁극적으로 2진수로 표현되는 숫자값이다. 따라서 컴퓨터가 문자를 처리하도록 하기 위해서는 각각의 글자에 고유한 번호를 부여하여 특정한 숫자값과 특정한 글자를 1:1 로 맵핑하는 것이다. 이러한 문자 맵에서 가장 잘 알려져 있는 것이 아스키(ASCII) 코드이다. 아스키코드는 128개의 알파벳 문자 및 숫자와 문장부호, 몇 가지 괄호와 연산자 문자 그리고 프린터 출력에 필요한 제어 문자등을 정리한 코드 체계이다. 128개의 글자를 포함하고 있기 때문에 (물론 그 중에는 눈에 보이지 않는 글자도 있다.) 이 가지수는 모두 2의 7제곱이며… 더 보기 »유니코드 문자열과 문자열 인코딩

Objective-C 한글의 초성을 분리하기

유니코드 한글의 코드 값 구성 원리와 이를 토대로 각 음절의 초/중/종성을 분리하는 방법은 본 블로그의 다른 글들을 참고하면 되겠다. (원래 참조했던 외부글이 있지만, 시간이 오래 지나서 그런지 삭제되었다.) 유니코드 한글에서 초성을 분리하는 일은 그리 어렵지 않은데, 중성 및 종성으로 사용되는 28자, 21자의 간격을 이용해서 한글 자모 테이블의 초성의 인덱스를 구할 수 있다. 여기서 한가지 문제는 위 코드로 구한 초성 값은 한글 자모의 문자라는 것이다. 한글자모의 코드가 연속되는 경우, 플랫폼에 따라서는 자동으로 합자가 생성되기도 하기 때문에, “안녕하세요”를 위 함수로 초성을 추출하면… 더 보기 »Objective-C 한글의 초성을 분리하기

20090420 :: 모든 것에 대한 집합, 유니코드

이 글에 언급된 몇몇 내용은 부정확한 추측이라 보다 정확하게 정리한 글을 다시 작성하였습니다. 유니코드에 대한 개요는 이 글을 참고해주세요. 문자열이란 무엇일까요 파이썬으로 한글을 출력하는 프로그램을 만들어서 명령창에서 실행해보면,  한글이 죄다 깨어져 나오는 문제를 경험합니다.(물론, 조금만 신경쓰면 그럴 일은 없습니다) 또는 윈도에서 zip으로 압축한 파일을 리눅스에서 열어보면 또 역시나 한글 이름이 와장창 깨어져서 압축이 풀립니다. 멀리까지 갈 필요도 없이, 이름이 일본어로 되어있는 파일도 압축했다가 나중에 풀어보면 또 이름이 와장창 깨어져서 나오거나, 아예 압축이 풀리지 않는 불상사가 일어나기도 합니다. 이런 문제점들은 사실… 더 보기 »20090420 :: 모든 것에 대한 집합, 유니코드