ASCII 0x1f, unit separator and 0x1e, record separator. There’s also 0x1d group separator and 0x1c file separator.
Both CSV and TSV have been a mistake from the start it’s not like they’d be suitable for binary data anyway and not using ASCII control codes specifically made for in-band messaging of record fields means they ate into the printable characters (and yes \n and \t are printable, they move the print head that’s a printing action).
If you want binary compatibility either use bencode or throw ASN.1 at it. The important thing is to have a simple enough data model, don’t try to save code in the base compatibility version, evaluate the whole sheet before export if you have to. Using sqlite as interchange format is a bit hacky, but honestly defensible especially with the code (which kinda is the spec) being public domain.
barsoap@lemm.ee 7 months ago
ASCII 0x1f, unit separator and 0x1e, record separator. There’s also 0x1d group separator and 0x1c file separator.
Both CSV and TSV have been a mistake from the start it’s not like they’d be suitable for binary data anyway and not using ASCII control codes specifically made for in-band messaging of record fields means they ate into the printable characters (and yes \n and \t are printable, they move the print head that’s a printing action).
If you want binary compatibility either use bencode or throw ASN.1 at it. The important thing is to have a simple enough data model, don’t try to save code in the base compatibility version, evaluate the whole sheet before export if you have to. Using sqlite as interchange format is a bit hacky, but honestly defensible especially with the code (which kinda is the spec) being public domain.