3 ms·
One thing that seems to be missed here is that text formats tend to be self documenting. That is, if I'm handed a blob of text vs a blob of binary, I am quite
by ezy 15y ago
One thing that seems to be missed here is that text formats tend to be self documenting. That is, if I'm handed a blob of text vs a blob of binary, I am quite a bit more likely to be able to hack the text than the binary. This is usually couched in terms of being able to process the text form using standard tools, but it goes way, way beyond that. It matters most in the situation outlined above -- when third parties need to get at the format without having to rely on some provided tool.
Most protocols and file formats are not documented sufficiently. Encoding data in binary (unnecessarily) is unfriendly because there is a huge difference between "ACK" and 0x06 when you're a third party looking at the data with no reference. Sure, you can probably figure it out given enough time, trail and error. Or perhaps beg the developer for specs, but it's not particularly efficient. Most developers don't have time or the inclination to publish a public spec for all binary formats used in their product.
You can make illegible text formats, of course, but I'd argue that then you're simply making a binary format that's confined to the range of 7-bit ASCII. Similarly, when the goal is to obfuscate (e.g. algorithm IP), binary formats work well to dissuade casual investigations.