4 ms·
The inability to use string manipulation functions on bytestrings without converting them to unicode and back for each operation.
by Kliment 13y ago
The inability to use string manipulation functions on bytestrings without converting them to unicode and back for each operation.
- viraptor 13y agoWhat do you mean by "string manipulation"? bytes are not text strings. If you actually mean text operations, then converting them is something you should also do in py2. Edit: now that I thought about it - since you're able to decode the bytes you're using, it means you are operating on text - why not convert it then?
- Kliment 13y agoSee http://bugs.python.org/issue3982 http://bugs.python.org/issue3982 that's linked elsewhere in these comments for the kind of things that don't work on bytestrings
- Borogove 13y agoAs many comments in that thread point out, byte arrays are not strings, and casually conflating or implicitly converting the two is terrible mental hygiene. Explicit is better than implicit.
- viraptor 13y agoI read it all, and to be honest I think I agree the most with http://bugs.python.org/issue3982#msg180441 http://bugs.python.org/issue3982#msg180441 (.format may be making some things simpler, but it goes against the idea of well separated bytes -vs- text) But really, I just don't like how http/ftp/similar protocols were designed in the first place. They're mixing binary and text in the same stream. That's ugly and when you have strict rules about text encoding in your language, the implementation also turns out ugly - what a surprise :)
- deleted 13y ago[deleted]