4 ms·
Or NSVs (null separated values). It doesn't have any downsides.
by fctorial 6y ago
Or NSVs (null separated values). It doesn't have any downsides.
- masklinn 6y agoNSVs break any text-based tools e.g. not only is it hard to view them using standard tooling, you can't diff them either. And if you're going to use stupid separators, at least use US (0x1F), that's the entire point of that thing.
- fctorial 6y agohttps://prnt.sc/vf7699 https://prnt.sc/vf7699 This is how vim renders an NSV file. And I honestly don't remember the last time I edited a csv file by hand.
- Kwpolska 6y agoAnd this is how TextEdit does it: abc 123 CSV files are also editable and readable with basic GUI tools like TextEdit/Notepad. Users of CSV files are not just people who can use Vim or a hex editor, it’s a general-purpose format. I can’t read nor edit the file with TextEdit, Notepad might also make it hard. Software that assumes C-style strings (where NULL terminates a string) can’t process your file without a complete rewrite. And even with Vim, I had to type ^Vu0000 to get the NULL in there, which is much less comfortable than comma or tab. (No, I’m not adding a key sequence for NULL to my .vimrc.)
- auxym 6y agoOr ASCII 0x1E - record separator. They have a similar downside though: you can't easily type them and a lot of text editors won't render them by default.
- masklinn 6y ago0x1e (Record Separator) would replace the newline, for row values it's 0x1f (Unit Separator) you want.
- rattray 6y agoAre those human-editable? How do you insert a null character?
- cf 6y agoHard to edit from a text editor and requires using something specialised
- mcswell 6y agoI would think most TSVs are generated programmatically, maybe apart from a few test samples one might make in the progress of debugging one's code. And most programmers' editors that I've use allow you to insert tab chars, and visualize them as well (often as some sort of arrow). In my work (which has to do almost exclusively in language data, ASCII and otherwise), a tab should never appear in text; if it does, I replace it with a single (or multiple) space chars in a preprocessing step. I suppose the other place that one might encounter tabs is in computer programs, most notoriously in makefiles. (You can tell which side of the tabs vs. spaces delimiting argument I come down on.) But then I've never had to send a makefile inside a TSV file...