Hacker News new | past | comments | ask | show | jobs | submit login

Not sure what you mean. It's the default for a long time now. https://docs.python.org/3/library/stdtypes.html#bytes.decode

`open` also defaults to your system encoding, which is likely utf8 judging from the message.




print(str(b'I am a broken string'))

print(str(b'I DONT WANT TO add "UTF-8" everywhere!!','UTF-8'))

not quite default!


Explicit is better than implicit. The first line isnt a string, it's a collection of bytes, guessing that it's utf8 is not the right thing to do.

The encode (or is it decode? I always forget) defaults to utf8, which is what you should be using.


It helps me to think encrypt for encode (convert to bytes) and decrypt for decode (convert to text).


I'm not sure why this example is interesting. You can write:

print('I DONT WANT TO add "UTF-8" everywhere!!')

And get the same result. Or if you really want to start with bytes:

print(b'some string'.decode())




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: