Ethan Furman writes:
The above is not arguing with the 'latin-1' nor 'surrogateescape' techniques, but only commenting on a different data type with probably different uses.
But there really aren't any uses that aren't equally well dealt with by 'surrogateescape' that I can see. You have to process it code unit by code unit (just like surrogateescape) and if you find a non- character code unit, you then have an ad hoc decision to make about what to do with it. surrogateescape makes one particular treatment blazingly efficient (namely, turning the surrogate back into a byte with no known meaning). What other treatment of a byte of by-definition unknown semantics deserves the blazing efficiency that a new (presumably builtin) type could give?