CSV with special seperation characters is nothing new. It won't generally solve the problem, because the choice of the seperation characters is always related to the data supposed to be hold by the table. Just think about a CCSV file holding CCSV files.<p>If you want to avoid escaping, you need to declare the length of your fields, so it says for instance "now come 20 bytes of field value" and no termination symbol is necessary. This is nothing new, read about the pros and cons of null terminated strings or old and traditional standards such as ASN.1 if you want to learn more about that.<p>I don't like the name TSV (Tab seperated values), because it is just CSV, and the name should be agnostic about the used seperators. See for instance <a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html" rel="nofollow">https://pandas.pydata.org/pandas-docs/stable/reference/api/p...</a> for a versatile parsing library in a widespread data science library. It just calls all these data formats <i>CSV</i>.
The SQLite command shell supports the format described there. I have also independently used the same format too. But now, they have a name for it, which can be useful.<p>One variant I have sometimes used is DLE to escape the next character if it is a control character that should be part of the data.