i
- 112 쪽, 12.6.2 아래 (2000.02.11 에 고침) 책 : http://www.isi.edu/in-notes/assignments/character-sets 고침: http://www.isi.edu/in-notes/iana/assignments/character-sets
- 87 쪽, 위에서 7 째줄 (2001.06.13 에 고침) 책 : 0x2262 0319: ... 고침: 0x2262 0391: ...
- 3. 21 쪽, 3.1.4 ISO/IEC 10646-2 (둘째 조각: part 2) 에서 22 쪽 끝까지 (2001.06.13 에 고침) 3.1.4 ISO/IEC 10646-2 (둘째 조각: part 2) ISO/IEC 10646-2 에서는 BMP 밖에 둘 글자도 다루고 있는데, 현재 일하고 있는 가운데 있으며, 곧 (2002 년쯤?) 표준으로 인쇄되어 나올 예정이다. 규격 이름은 ISO/IEC 10646-2, Universal Multiple-Octet Coded Character Set (UCS) -- Part 2: Secondary Multilingual Plane for scripts and symbols, Supplementary Plane for CJK Ideographs, Special Purpose Plane 이다. 현재 시작한 것은 다국어 둘째 평면 한 개 (G=00, P=01), 한자 보충 평면 한 개 (G=00, P=02), 특별 목적용 평면 한 개 (G=00, P=0e), 모두 세 개이다. 세 평면의 영어 이름은 다음과 같다. 가) SMP (Secondary Multilingual Plane for scripts and symbols): G=00, P=01 나) SIP (Supplementary Plane for CJK Ideographs): G=00, P=02 다) SPP (Special Purpose Plane): G=00, P=0E SMP 와 SIP 는 모양 (있는) 글자 (graphic characters) 를 넣게 되지만, SPP 에는 모양없는 글자 (non-graphic characters) 를 넣게 된다. 모양 있는 글자는 인쇄할 수 있는 글자이고, 모양없는 글자는 인쇄할 수 없는 글자인데, 제어 글자 (control characters) 가 모양없는 글자의 대표적인 보기이다. 현재 SPP 에는 IETF (Internet Engineering Task Force) 에서 language tagging 방식을 요청함에 따라 이를 위한 글자를 넣는 일을 하고 있다. 조금 소개를 하면, - 0x000e 0001 language tag - 0x000e 0020 tag space, 0x000e 0021 tag exclamation mark ... ... .... ... 0x000e 007e tag tilde 0x000e 007f cancel tag 한편 UTF-16 (UTF-16 은 뒤에 자세히 다룸) 으로 나타낼 수 있는 평면 가운데 두 개 (G=00; P=0F 와 10) 는 PUP (private use planes) 로 되어 있다. UTF-16 으로 쓸 수 있는 평면 열 일곱 개를 정리해 보면, 가) 네 개는 표준화를 하고 있다 (BMP, SMP, SIP, SPP) 나) 두 개는 PUP 이다. 다) 11 개는 아직 안 쓰고 있다. 평면 하나에 들어가는 부호값이 64 K 개 (다시 말하여 글자 64 K 개) 이므로, SMP 와 SIP 평면을 채우는 데만 해도 시간이 아마 엄청나게 걸릴 것이며, 어쩌면 BMP, SMP, SIP 만으로도 웬만한 일을 위하여는 충분할 지도 모른다. (앞으로 한참 동안, 많은 프로그램이 BMP 지원에 치중할 것이고, BMP 밖의 SMP 나 SIP 등은 쉽게 지원하지는 않을 것으로 보인다.)
- 23 쪽, 6 째 줄 (2001.06.13 고침) - 책: (20616-1 2 판) ... 아마도 2000 년쯤에 제 2 판 문서가 나올 것으로 보인다. - 고침: (20616-1 2 판) ... 2000.10.05 일에 제 2 판 문서가 인쇄되어 나왔다.
- 26 쪽, 아래서 둘째, 셋째 줄 (2001.06.13 고침) - 책 : 홑점(.): 0303e: hangul single dot tone mark 겹점(:): 0303f: hangul double dot tone mark - 고침: 홑점(.): 0302e: hangul single dot tone mark 겹점(:): 0302f: hangul double dot tone mark
- 6. 90 쪽, 10.5.4; 91 쪽, 10.5.5; 92 쪽 표 10.2: 고친 내용만 아래에 나옴. (2001.06.13 고침) 10.5.4 UTF-8 로 바꾼 뒤 다시 Base64 로 바꿀 때 가) KS X 1001 한글 완성형: UTF-8 은 UCS-2 글자에만 쓰는 것이므로, 해당되지 않는다. 나) ISO/IEC 10646 한글 첫가끝 조합형: 한 글자마디는 평균 5 바이트 (= 6*0.5 + 4*0.5 끝소리 글자가 있는 글자마디의 길이는 6 바이트이고, 없는 글자마디의 길이는 4 바이트인데, 글자마디 기준으로 끝소리 글자가 있는 글자마디와 없는 글자마디가 각각 50 % 씩의 확율로 나옴) 인데, UTF-8 로 바꾸면 (5/2) * 3 = 7.5 바이트가 된다. 여기에 다시 Base64 로 바꾸면 7.5 * (4/3) = 10 바이트가 된다. 따라서 처음 길이의 두 배로 늘어난다. 다) ISO/IEC 10646 한글 완성형: 완성형 글자마디 하나를 UTF-8 로 바꾸면 3 바이트가 된다. 여기에 Base64 로 다시 바꾸면 3 * (4/3) = 4 바이트가 된다. 따라서 처음 길이의 두 배로 늘어난다. 라) US-ASCII: UTF-8 은 UCS-2 글자에만 쓰는 것이므로, 해당되지 않는다. 마) ISO/IEC 10646-ASCII: UTF-8 로 바꾸면 2 바이트에서 1 바이트로 되며, 이를 Base64 로 바꾸면 1 * (4/3) = 1.3 바이트이므로, 처음 길이의 0.7 배로 줄어든다. 10.5.5 UTF-8 로 바꾼 뒤 다시 QP 로 바꿀 때 가) KS X 1001 한글 완성형: UTF-8 은 UCS-2 글자에만 쓰는 것이므로, 해당되지 않는다. 나) ISO/IEC 10646 한글 첫가끝 조합형: 한 글자마디는 평균 5 바이트인데, 글자마디 하나를 UTF-8 로 바꾸면 (5/2) * 3 = 7.5 바이트가 된다. 여기에 다시 QP 로 바꾸면 7.5 * 3 = 22.5 바이트가 된다. 처음 길이의 4.5 배로 늘어난다. 다) ISO/IEC 10646 한글 완성형: 완성형 글자마디 하나를 UTF-8 로 바꾸면 3 바이트가 된다. 여기에 다시 QP 로 바꾸면 3 * 3 = 9 바이트가 된다. 처음 길이의 4.5 배로 늘어난다. 라) US-ASCII: UTF-8 은 UCS-2 글자에만 쓰는 것이므로, 해당되지 않는다. 마) ISO/IEC 10646-ASCII: 두 바이트인 글자 하나를 UTF-8 로 바꾸면 한 바이트가 된다. 여기에 다시 QP 로 바꾸더라도 그대로 한 바이트로 남는다. 따라서, US-ASCII 글자는 처음 길이의 반으로 줄어든다. 표 10.2 한글 및 영어 경우, 여러 가지 바꿈꼴/부호화 방법 (CTE) 을 적용한 결과의 길이 견주기 +-----+--------------+---------------+ | | 4) UTF-8 | 5) UTF-8 | | | -> B64 | -> QP | +-----+--------------+---------------+ | | | | | 가) | ---- | ---- | +-----+--------------+---------------+ | | 10 | 22.5 | | 나) | (2X) | (4.5X) | +-----+--------------+---------------+ | | 4 | 9 | | 다) | (2X) | (4.5X) | +-----+--------------+---------------+ | | | | | 라) | ---- | ---- | +-----+--------------+---------------+ | | 2.7 | 1 | | 마) | (0.7X) | (0.5X) | +-----+--------------+---------------+