This is a perennial topic. Related prior discussion on this forum alone is voluminous:
> I'm surprised never to have seen any support for CSV files using US/RS instead of TAB/(CR)LF or comma/(CR)LF. Or any support in Unix to use RS instead of LF or NUL to delineate records.
February 27, 2022, on: "The Great Curly Brace Trace Chase (2003)"
> The record separator ship sailed long ago. The advantage of newline is that it’s easy to use with a bunch of standard tools like less/head/tail/your text editor.
> Easy: CSVs are human readable and writeable and humans tend to have a comma sign on their keyboard, while they don't have the ASCII record seperator visible (teaching them to use eg Alt + 30 will not work).
May 15, 2020 on: "So you want to write your own CSV code (2014)"
> ASCII also includes control characters for delimiting text records. If people used these purposed-designed characters instead of comma or tab characters as delimiters, we could avoid many headaches quoting and escaping CSV data.
September 26, 2019, on: "Four Column ASCII (2017)"
> ASCII actually contains four control characters for this purpose: file, group, record and unit separator. I'm sure a lot of problems would be solved if people just used these.
> It really makes me sad that CSV even exists: ASCII defines field ('unit') & record separator characters (also group & file, but those are less-useful), as well as an escape character.
June 8, 2016 on: "ParaText: CSV parsing at 2.5 GB per second"
> Good old ASCII has characters specifically devoted to separating fields, keys, etc. that no-one uses for anything else. Why not use them instead of inventing a new character that does the same thing?
June 5, 2015 on: "Almost every Cassandra feature has some surprising behavior"
> I'm surprised never to have seen any support for CSV files using US/RS instead of TAB/(CR)LF or comma/(CR)LF. Or any support in Unix to use RS instead of LF or NUL to delineate records.
February 27, 2022, on: "The Great Curly Brace Trace Chase (2003)"
https://news.ycombinator.com/item?id=30493914
> If we're going to change the format, why not just use the record separator, and field separator characters.
August 19, 2021, on: "A straightforward way to extend CSV with metadata"
https://news.ycombinator.com/item?id=28236339
> Time to retire the CSV?
August 18, 2021
https://news.ycombinator.com/item?id=28221654
> I think we should just stop using commas and newlines and start using the ASCII unit separator and record separator
June 3, 2021, on "RFC 4180: Common Format and MIME Type for CSV Files (2005)"
https://news.ycombinator.com/item?id=27381832
> The record separator ship sailed long ago. The advantage of newline is that it’s easy to use with a bunch of standard tools like less/head/tail/your text editor.
May 25, 2021, on "Newline Delimited JSON"
https://news.ycombinator.com/item?id=27282810
> What both models lacked was a good way to handle optional/sparse fields.
February 26, 2021
https://news.ycombinator.com/item?id=26271877
> It's very annoying that ascii includes file and record separator characters and csv still exists
December 18, 2020 on: "What If OpenDocument Used SQLite? (2014)"
https://news.ycombinator.com/item?id=25466122
> ASCII 31 is a "unit separator" (or field separator as we'd call it today) and ASCII 30 is a record separator.
November 29, 2020
https://news.ycombinator.com/item?id=25248935
> Easy: CSVs are human readable and writeable and humans tend to have a comma sign on their keyboard, while they don't have the ASCII record seperator visible (teaching them to use eg Alt + 30 will not work).
May 15, 2020 on: "So you want to write your own CSV code (2014)"
https://news.ycombinator.com/item?id=23190918
> ASCII also includes control characters for delimiting text records. If people used these purposed-designed characters instead of comma or tab characters as delimiters, we could avoid many headaches quoting and escaping CSV data.
September 26, 2019, on: "Four Column ASCII (2017)"
https://news.ycombinator.com/item?id=21077054
> many of the pain points of CSV/TSV could be addressed by using US (unit separator) or RS (record separator) bytes instead.
April 11, 2018, on: "Problems with CSVs (2016)"
https://news.ycombinator.com/item?id=16812211
> ASCII actually contains four control characters for this purpose: file, group, record and unit separator. I'm sure a lot of problems would be solved if people just used these.
April 11, 2018, on: "Problems with CSVs (2016)"
https://news.ycombinator.com/item?id=16810744
> Ask HN: Why isn't ASCII codes 28 – 31 used more often to serialize tabular data?
December 15, 2017
https://news.ycombinator.com/item?id=15934407
> ASCII defines a unit separator, and a record separator. I wish we would just bite the bullet and start using this 50 year old solution.
December 27, 2016
https://news.ycombinator.com/item?id=13267340
> It really makes me sad that CSV even exists: ASCII defines field ('unit') & record separator characters (also group & file, but those are less-useful), as well as an escape character.
June 8, 2016 on: "ParaText: CSV parsing at 2.5 GB per second"
https://news.ycombinator.com/item?id=11862769
> ASCII has field record separator for instance. Free CSV.
July 2, 2015 on: "Stop the Vertical Tab Madness (2010)"
https://news.ycombinator.com/item?id=9817935
> Good old ASCII has characters specifically devoted to separating fields, keys, etc. that no-one uses for anything else. Why not use them instead of inventing a new character that does the same thing?
June 5, 2015 on: "Almost every Cassandra feature has some surprising behavior"
https://news.ycombinator.com/item?id=9666275
> ASCII Delimited Text – Not CSV or TAB delimited text
March 26, 2014
https://news.ycombinator.com/item?id=7474600