If you consider that unicode strings have no implicit byte encoding it becomes obvious that `urllib.quote()` cannot guess what encoding you want before it encodes the bytes to something that is URL-safe and ASCII-only.