Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

People have suggested using the control characters for CSV structured files. The problem is that they are impossible to edit.

Control characters are invisible, using them means changing text editors to display them. They are also, outside the usual ones, hard to type. ASCII ones have Ctrl combos, but editors used those for other things.

Also, what is the difference between using some new character to start block and "{" or "\n"? Why have new thing to indicate new level when have space and tab?





> Control characters are invisible, using them means changing text editors to display them. They are also, outside the usual ones, hard to type. ASCII ones have Ctrl combos, but editors used those for other things.

Yes. Change of paradigm does require change of tooling. If some legacy tool doesn’t support new format, it’s not a good reason not to use new technology - either tool evolves or a replacement emerges and typing won’t be a problem. Classic formatting commands from rich text (Ctrl-B etc) can be repurposed, for example.

>Also, what is the difference between using some new character to start block and "{" or "\n"?

Any such delimiter has other use in text. Dual use means extra ceremony with escaping and extra complexity. Whitespace as a delimiter has especially bad UX, because most editors don’t understand the semantics and it is very to make mistakes.


> Dual use means extra ceremony with escaping

It depends, if you allow nesting you also need escaping.


Escaping of what?

Of 'yourself', if a text field contain embedded/nested text you need to escape the delimiter.

This case is much rarer than escaping quotes or whitespace. It will happen only if the content of the block will contain unsanitized inputs. In such case a control character for escaping will help, or, if you can have 2x range for control characters, you can use one bit for escaping. E.g. 0x1-0x7 - delimiters, 0x8-0xF - escaped delimiters.

ASCII has 4 delimiter characters: file, group, record, and unit.

They are not used in editors that I have ever seen.

They are theoretically accessible as ctrl-/, ctrl-], ctrl-^, ctrl_

Editors absolutely should be able to show them using syntax highlighting.


There are 3 more: 001, 002 and 003

Probably most of the first 32 can be repurposed.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: