Jarkko Hietaniemi wrote on 2002-03-10 23:27 UTC:
>  Code Points            1st Byte  2nd Byte  3rd Byte  4th Byte
>    U+0000..U+007F       00..7F���
>    U+0080..U+07FF       C2..DF    80..BF���
>    U+0800..U+0FFF       E0        A0..BF    80..BF��
>    U+1000..U+CFFF       E1..EC    80..BF    80..BF��
>    U+D000..U+D7FF       ED        80..9F    80..BF��
>    U+D800..U+DFFF       ******* ill-formed *******
>    U+E000..U+FFFF       EE..EF    80..BF    80..BF��
>   U+10000..U+3FFFF      F0        90..BF    80..BF    80..BF
>   U+40000..U+FFFFF      F1..F3    80..BF    80..BF    80..BF
>  U+100000..U+10FFFF     F4        80..8F    80..BF    80..BF
>
> It seems that I have something funny in utf8.h after then 7F here,
> so you may see something funny, too...

The reason why C0-C1 is missing here after 7F is that the above table
also suppresses overlong UTF-8 sequences.

See

  http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8

for a list of all bit patterns that have to be excluded to avoid
overlong UTF-8 sequences.

Markus

-- 
Markus G. Kuhn, Computer Laboratory, University of Cambridge, UK
Email: mkuhn at acm.org,  WWW: <http://www.cl.cam.ac.uk/~mgk25/>

Reply via email to