UTF2(4)

명칭
utf2 - 유니버설 캐릭터 집합 변환 포맷에 의한 캐릭터의 인코딩

서식
ENCODING "UTF2"

해설
UTF2 인코딩은, X-Open 가 제안한 다바이트 FSS-UCS-TF (File System Safe Universal Character Set Transformation Format) 인코딩에 근거하고 있어 Bell Labs 의 Plan 9 그리고 사용되고 있는 것과 같은 것입니다. 이 인코딩은 16 bit 이상을 나타낼 수가 있습니다만, 현재의 실장에서는 Unicode Standard 에 의해 정의되고 있는 16 bit 까지 제한되고 있습니다.

UTF2 에 의한 표현은 ASCII 의 상위 호환이므로, 0x00-0x7f 는 ASCII 캐릭터 집합에 들어맞읍니다. 0x0080 에서 0xffff 까지의 캐릭터의 다바이트 인코딩은, 전체가 고위 비트가 세트 된 바이트로 구성되어 있습니다. 실제의 인코딩은 다음의 겉(표)에 의해 나타내지고 있습니다:

    [0x0000 - 0x007f] [00000000.0bbbbbbb] -> 0bbbbbbb
    [0x0080 - 0x07ff] [00000bbb.bbbbbbbb] -> 110bbbbb, 10bbbbbb
    [0x0800 - 0xffff] [bbbbbbbb.bbbbbbbb] -> 1110bbbb, 10bbbbbb, 10bbbbbb

어느 값에 대해서 1 개 이상의 표현이 존재하는 경우에는 (예를 들면 0x00 로 0xC0 0x80 로 0xE0 0x80 0x80), 항상 가장 짧은 표현이 사용됩니다. (다만 긴 표현의 것도 올바르게 디코드되겠지요. )

X-Open 는 최종적인 3 개의 인코딩을 준비해 있습니다:

    [00000000.000bbbbb.bbbbbbbb.bbbbbbbb] ->
    	11110bbb, 10bbbbbb, 10bbbbbb, 10bbbbbb
    [000000bb.bbbbbbbb.bbbbbbbb.bbbbbbbb] ->
    	111110bb, 10bbbbbb, 10bbbbbb, 10bbbbbb, 10bbbbbb
    [0bbbbbbb.bbbbbbbb.bbbbbbbb.bbbbbbbb] ->
    	1111110b, 10bbbbbb, 10bbbbbb, 10bbbbbb, 10bbbbbb, 10bbbbbb

이것들은 제안되고 있는 완전한 ISO-10646 31 bit Standard 를 위해서(때문에) 준비되어 있습니다만, 현재는 실장되고 있지 않습니다.

관련 항목
mklocale(1), setlocale(3)