I've been playing around with python built-ins and have gotten some confusing (for me) results.
Take a look at this code:
>>> 'ü'.encode()
b'\xc3\xbc'
Why was \xc3\xbc (195 and 188 in decimal) returned? If you look at the ascii table, we see that ü is the 129'th character. Or if you take a look here, we see that ü is the 252'nd Unicode character, which is what you get from
>>> ord('ü')
252
So where is the \xc3\xbc coming from and why is it split up into two bytes? and when you decode: b'\xc3\xbc'.decode(), how does it know that these two bytes are for one character?