Unicode separated values (USV) is similar to these formats, plus offers more capabilities, editor-friendly markup, and standards-track syntax.
Capability | USV | ASV | CSV | TSV | RSV | JSON | XLSX |
---|---|---|---|---|---|---|---|
Units / cells / fields | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 | ✅ |
Records / lines / rows | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 | ✅ |
Groups / sheets / tables | ✅ | ✅ | ⛔ | ⛔ | ⛔ | 🟡 | ✅ |
Files / folios / schemas | ✅ | ✅ | ⛔ | ⛔ | ⛔ | 🟡 | ✅ |
Text, not binary | ✅ | ✅ | ✅ | ✅ | ⛔ | ✅ | ⛔ |
All visible separators | ✅ | ⛔ | ✅ | 🟡 | ⛔ | ✅ | ⛔ |
Easy for any text editor | ✅ | ⛔ | ✅ | ✅ | ⛔ | ⛔ | ⛔ |
Separator line spacing | ✅ | ⛔ | 🟡 | 🟡 | ⛔ | 🟡 | ⛔ |
IETF.org standards-track | ✅ | ⛔ | 🟡 | 🟡 | ⛔ | ✅ | 🟡 |
Escaping | ✅ | ✅ | ✅ | ⛔ | ⛔ | 🟡 | 🟡 |
End of Transmission | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ |
Variable units per record | ✅ | ⛔ | ⛔ | ⛔ | ✅ | ✅ | ⛔ |
Separators are terminators | ✅ | ⛔ | ⛔ | ⛔ | ✅ | ⛔ | ⛔ |
Unicode UTF-8 default | ✅ | ⛔ | ⛔ | ⛔ | ⛔ | ✅ | 🟡 |
a\u001FB\u001F\u001Ec\u001FD\u001F\u001E
USV with symbols:
a␟b␟␞c␟d␟␞
USV with controls is identical to ASV:
a\u001FB\u001F\u001Ec\u001FD\u001F\u001E
CSV example:
a,b
c,d
USV with symbols:
a␟b␟␞
c␟d␟␞
USV with controls:
a\u001FB\u001F\u001E
c\u001FD\u001F\u001E
TSV example:
a b
c d
USV with symbols:
a␟b␟␞
c␟d␟␞
USV with controls:
a\u001FB\u001F\u001E
c\u001FD\u001F\u001E
RSV example:
a\b255b\b255\b253c\b255d\b255\b253
USV with symbols:
a␟b␟␞
c␟d␟␞
USV with controls:
a\u001FB\u001F\u001E
c\u001FD\u001F\u001E
XLSX example:
Sheet 1
a,b
c,d
Sheet 2
d,e
f,g
USV with symbols:
Sheet 1␟␞
a␟b␟␞
c␟d␟␞
␝
Sheet 2␟␞
e␟f␟␞
g␟h␟␞
␝
USV with controls:
Sheet 1\u001F\u001E
a\u001FB\u001F\u001E
c\u001FD\u001F\u001E
\u001D
Sheet 2\u001F\u001E
e\u001Ff\u001F\u001E
g\u001Fh\u001F\u001E
\u001D