There are two types of programmers, those that are wrong and those that are very wrong
Funny but not entirely true. I had cases when we had to urgently store a firehose of data and figure out the right string encoding later. Just dumping the strings with uncertain encoding in `bytea` columns helped us there.
Plus for some fields it helps with auditability f.ex. when you get raw binary-encoded telemetry from devices in the field, you should store their raw payloads _and_ the parsed data structures that you got from them. Being this paranoid has saved my neck a few times.
The secret is to accept you are not without fault and take measures to be able to correct yourself in the future.
There's a lot to complain about with nul-terminated strings, but not being able to store arbitrary bytes ain't one of them.
That said, I’m with you. And if someone wants nulls inside their “strings” then they probably want blobs.