I don't have a problem with Python 3's unicode support, and I don't really understand why people do. I think it works fine, you just want to think of b'' as byte arrays instead of strings. If you're ever carrying a bytes around and passing it into string handling functions, you're Doing It Wrong. Honestly, I can't find anything wrong with Python 3's Unicode support. It's great.