low poly mate , it wont be hard to runalso i can run arma at like 80 fps so im safe <| sep |> That ' s a classic straw man argument . I am not defending the methods used , I am telling you why putting a VR headset on everyone is a dumb idea . I can not like what they did , and not like your suggestion at the same time . Those two things are not mutually exclusive . <| sep |> Edit Here ' s a SO answer that gives a pretty good run throughYou have it backwards . Python 2 has difficulty with nonASCII read numbers and the English alphabet plus some other stuff characters but Python 3 really doesn ' t . To really understand this you need to know that bytes are raw data . It ' s how computers think of stuff . When you read a jpeg file with open , you get a byte sequence . When you read from a socket , you get a byte sequence . Pretty much any IO you ' ll do involves dealing with byte sequences . A byte sequence , under the hood , is essentially a collection of integers . It just so happens that ASCII text can be represented in byte sequences with no magical transformation needed . However , characters from some languages do need a transformation because they exist outside the ASCII space 0 127 . this is called encoding . There ' s lots of these but the most popular is probably UTF 8 . Sending an email in Russian involves encoding it using UTF 8 . Text is what you and I are reading right now . You can get text from bytes by applying a decode to it . For the person that received your Russian email , their computer will need to decide if using UTF 8 . Python 2 can handle this , but the str type there is actually byte sequences . It ' ll automatically encode non ASCII characters to character points the weird xe 34 d stuff sometimes . This is the biggest issue , in my opinion , that str can be automatically promoted to unicode without you knowing . So what was once a byte sequence is now a true text type but loses some interop with byte sequences . To see this in action , do . formatuIn Python 3 , the str type is unicode so it can handle them without jumping through hoops and all text had interop , you can format , join , split , reverse , etc without something becoming bytes or unicode magically , because it ' s all unicode there ' s still issues with splitting and reversing , but that has to do with how unicode can form sone character combos . To see this in action , do . format note There ' s no u prefix on the string to declare it as unicode , Python 3 is unicode by default . The u prefix still works as of 3 . 3 , but it ' s unneeded . Python 3 gets it right . There ' s no reason in the world that in a high level language like Python should treat raw data read from a jpeg and text entered in by a user as the same type .