It would seem that as long as the data exported is regular text that a user would enter into an app, it would only contain ASCII characters that have matching keyboard keys. That would leave ASCII 31 (Unit Separator) perfect for delimiting fields, and 30 (Record Separator) for delimiting records instead of a newline. That way you wouldn't have to worry about escaping anything in the data (of course, binary data would still need special handling, but in this case I'm referring to predominately text data). So why isn't this practice more common?