As you discovered, Len returns the number of characters in the string, not bytes. I've added a note to the documentation to clarify this. Just out of curiosity, why do you need to know the number of bytes?
I have random log content that I'm sending to a browser window using chunked encoding. The first thing you have to send is the number of bytes, followed by the string. I was using len() to get the byte count but it fails with UTF8 characters. Works fine now using my Length() function.