Skip to content

Instantly share code, notes, and snippets.

@rbakbashev
Created December 19, 2018 19:09
Show Gist options
  • Save rbakbashev/e1be951b2678e36fa857a20dfd9f7758 to your computer and use it in GitHub Desktop.
Save rbakbashev/e1be951b2678e36fa857a20dfd9f7758 to your computer and use it in GitHub Desktop.
+-----------+-------------+----------+----------+----------+----------+----------+----------+---------+
| no. bytes | bits for cp | first cp | last cp | byte 0 | byte 1 | byte 2 | byte 3 | cps |
+-----------+-------------+----------+----------+----------+----------+----------+----------+---------+
| 1 | 7 | U+0000 | U+007F | 0xxxxxxx | | | | 127 |
| | | | | 0-7F | | | | |
+-----------+-------------+----------+----------+----------+----------+----------+----------+---------+
| 2 | 11 | U+0080 | U+07FF | 110xxxxx | 10xxxxxx | | | 1919 |
| | | | | C0-DF | 80-BF | | | |
+-----------+-------------+----------+----------+----------+----------+----------+----------+---------+
| 3 | 16 | U+0800 | U+FFFF | 1110xxxx | 10xxxxxx | 10xxxxxx | | 63487 |
| | | | | E0-EF | 80-BF | 80-BF | | |
+-----------+-------------+----------+----------+----------+----------+----------+----------+---------+
| 4 | 21 | U+10000 | U+10FFFF | 11110xxx | 10xxxxxx | 10xxxxxx | 10xxxxxx | 1048575 |
| | | | | F0-F7 | 80-BF | 80-BF | 80-BF | |
+-----------+-------------+----------+----------+----------+----------+----------+----------+---------+
// these values were taken from some answer on stackoverflow, so I am not sure that it's correct
+--------------------+------------+------------+------------+------------+
| Code Points | byte 1 | byte 2 | byte 3 | byte 4 |
+--------------------+------------+------------+------------+------------+
| U+0000..U+007F | 00..7F | | | |
| | 0b00000000-| | | |
| | 0b01111111 | | | |
+--------------------+------------+------------+------------+------------+
| U+0080..U+07FF | C2..DF | 80..BF | | |
| | 0b11000010-| 0b10000000-| | |
| | 0b11011111 | 0b10111111 | | |
+--------------------+------------+------------+------------+------------+
| U+0800..U+0FFF | E0 | A0..BF | 80..BF | |
| | 0b11100000 | 0b10100000-| 0b10000000-| |
| | | 0b10111111 | 0b10111111 | |
+--------------------+------------+------------+------------+------------+
| U+1000..U+CFFF | E1..EC | 80..BF | 80..BF | |
| | 0b11100001-| 0b10000000-| 0b10000000-| |
| | 0b11101100 | 0b10111111 | 0b10111111 | |
+--------------------+------------+------------+------------+------------+
| U+D000..U+D7FF | ED | 80..9F | 80..BF | |
| | 0b11101101 | 0b10000000-| 0b10000000-| |
| | | 0b10011111 | 0b10111111 | |
+--------------------+------------+------------+------------+------------+
| U+E000..U+FFFF | EE..EF | 80..BF | 80..BF | |
| | 0b11101110-| 0b10000000-| 0b10000000-| |
| | 0b11101110 | 0b10111111 | 0b10111111 | |
+--------------------+------------+------------+------------+------------+
| U+10000..U+3FFFF | F0 | 90..BF | 80..BF | 80..BF |
| | 0b11110000 | 0b10010000-| 0b10000000-| 0b10000000-|
| | | 0b10111111 | 0b10111111 | 0b10111111 |
+--------------------+------------+------------+------------+------------+
| U+40000..U+FFFFF | F1..F3 | 80..BF | 80..BF | 80..BF |
| | 0b11110001-| 0b10000000-| 0b10000000-| 0b10000000-|
| | 0b11110011 | 0b10111111 | 0b10111111 | 0b10111111 |
+--------------------+------------+------------+------------+------------+
| U+100000..U+10FFFF | F4 | 80..8F | 80..BF | 80..BF |
| | 0b11110100 | 0b10000000-| 0b10000000-| 0b10000000-|
| | | 0b10111111 | 0b10111111 | 0b10111111 |
+--------------------+------------+------------+------------+------------+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment