The length of the String is not the length in (printed) characters, but the length in bytes. And in UTF-8 one character can be represented by up to 6 bytes (even though currently only up to 4 bytes are used, but it may be extended afterwards). E.g. '$' is 1 byte long, '£' is two bytes and '€' is three bytes long. Generally only 7-bit ASCII characters are also 1 byte in unicode (i.e. only the "american" alphabet).
And even the with the utf-8 character length, not all characters are printable, e.g. the é, while there is a unicode char to represent this, it can also be a combination of ´+e using character combination.
So general rule of thumb, when dealing with unicode, you can't tell from the length of a string how much characters will be printed