문자와 관련된 질문입니다.
1) 문자세트(character set)의 두 가지 의미?
문자세트라고 하면, 단순히 "문자들만"을 의미하는 것인지, 문자들을 포함하여 각 문자에 할당된 "정수값 까지도"의미 하는 것인지 모호합니다. 문맥에 따라 구분할 의향은 있지만, 근본적으로 어디까지는 문자세트라고 하는지 궁금합니다.
2) 코드 페이지(code page)란?
책을 구성하고 있는 페이지는 하나의 단위로서, 서로 다른 정보를(물론 유사할 수는 있지만 이는 같은 정보라고 볼 수 없습니다) 담고 있습니다. 또한 이러한 페이지는 불완전하지 않고 완전해야 합니다. 이러한 관점에서 볼때 코드 페이지란 각 국가의 문자 정보를 담고 있는 하나의 단위에 불과한 것이 맞나요? 물론 독자(?)는 그 자체로서 완전한 코드 페이지를 활용할테구요.
3) 유니코드(unicode)란?
간단하게 코드 페이지의 집합을 유니코드라고 설명할 수 있을까요?
4) 인코딩(encoding)과 디코딩(decoding)이란?
최근에 뉴스에 나왔던 북한의 난수방송 역시 인코딩과 디코딩으로 볼 수 있다고 생각 되는데요. 예를 들어서 47139 이라는 난수가 "특정 책자의 47쪽 13번째 줄 9번째 문자"라는 의미를 담고 있다면, 이처럼 미리 약속된 처음 2개는 쪽을, 다음 2개는 줄을, 마지막 1개는 문자의 위치를 인코딩과 디코딩으로 볼 수 있는 건가요? 그렇다면 결국 인코딩과 디코딩은 상호간에 동일한 책자(동일한 코드 페이지)를 사용해야 지만이 의미가 있는거죠? 또한 동일한 코드 페이지를 사용하더라도 인코딩과 디코딩은 무수히 많을 수도 있는거죠? 예를 들어서 ASCII 라는 코드 페이지를 사용했을 때의 인코딩과 디코딩은 하나만 존재하는게 아니죠?
유니코드란
*: +엄밀히 말하면 글자가 아닌 것들이나 다른 글자에 작용하는 것들 기타 등등도 포함합니다.
character repertoire, coded character set
취미로(?) 공부한 내용이라...
취미로(?) 공부한 내용이라 실제로 이와 관련된 업무를 하시는 분들이 보시기엔 미흡한 면이 많으리라 생각합니다. 불명확하거나 부정확한 내용 보시면 많은 가르침 부탁드립니다. 감사합니다.
추가적인 질문이 있습니다!
1번에서 set이라 하여 순서와 상관없는게 아닌, 고정된 순서를 갖는다고 하셨는데 이와 관련된 것이 collating sequence라는걸 알게 되었습니다. 그렇다면 collating sequence는 단지 repertorie의 순서만을 결정지어주는건가요? 또 각 character set에도 collating sequence가 존재하겠지요?
Collation
Collation은 code 나열 순서와는 다르게 되기도 하며, locale(어느 나라 어느 언어를 표기하고 있는지 등등)에 따라 바뀔 수 있습니다. 예를 들면...
가 나 다 ㄱ ㄴ ㄷ
이 문자들이 갖는 code 값을 따져보면:문자 뒤에 유니코드에서 각 문자를 고유하게 표현하는 16진수 숫자를 적어보았습니다. 그러면 각 문자에 할당된 숫자의 크기 순서대로 나열하면
ㄱ ㄴ ㄷ 가 나 다
가 되겠지만, 사실 한국인의 상식(?)에 따라 가나다순으로 나열하면 이렇게 돼야 하겠죠:ㄱ 가 ㄴ 나 ㄷ 다
제가 말했던 숫자/순서는 '가' 문자는 U+AC00, '각' 문자는 U+AC01 등등 각 문자가 코드표에서 순서대로 등장하는 것에 대한 얘기라고 생각해주시면 되겠습니다. (다른 사람이 '각'이 U+AC00인 다른 순서를 만들 리는 없을 테니까요.)
댓글 달기