First, I could be wrong in my understanding on how UTF-8 encoding scheme works as I just began to use unicode. One interesting webpage I came across that says:
There is, however, an encoding scheme for Unicode characters that is compatible with ASCII. It is called UTF-8. Under UTF-8, the byte encoding of character numbers between 0 and 127 is the binary value of a single byte, just like ASCII. For character numbers between 128 and 65535, however, multiple bytes are used. If the first byte has a value between 128 and 255, it is interpreted to indicate the number of bytes that are to follow. The bytes following encode a single character number. All the bytes following in the character encoding also have values between 128 and 255, so there will never be any confusion between single-byte characters between 0 and 127, and bytes that are part of multi-byte character representations.
For example, the character é which has a character number of 233 in both Latin 1 and Unicode, is represented by a single byte with a value 233 in conventional Latin 1 encoding, but is represented as two bytes with the values 195 and 169 in UTF-8.
In my interpretation and understanding, because the character é has a value greater than 128 in unicode (233), it is represented by two bytes. The two bytes have values between 128 and 255 in order to differentiate between ASCII characters that need only one byte, 7-bits are technically used. But how can we reach the number 233 using the values 195 and 169 stored in the two bytes? Or what's the procedure to get 233 from the two bytes? Obviously, if we add the two values (the two bytes) we get 195 + 169 = 364 which is not the same as the code point for the character é, 233. What Am I missing here?
*I totally understand some characters will require more bytes to represent, but that's another story.