【问题标题】:standard separator between datablocks in a data stream?数据流中数据块之间的标准分隔符?
【发布时间】:2019-09-11 23:13:19
【问题描述】:

我有几个 TSV 表(对于 ASCII 32 以下的任何字符,只包含常见字符,例如 '\a\b\t\n\v\f\r\e')。我想把它们放到一个流中。我认为可以使用 ASCII 控制字符来分隔它们。但我不确定哪个 ASCII 控制字符(除了上面已经使用的那些)是用于此目的的标准字符。有人知道标准是什么吗?

【问题讨论】:

    标签: ascii control-characters


    【解决方案1】:

    我不知道您建议的标准。

    许多协议使用带有计数的信封(TCP)或带有偏移量和长度的索引(tar、zip)或在标头中定义的任意唯一分隔符(多部分 MIME)。有一些像您这样的简单系列,但具有使项目分离明显的格式(XML 元素流 [它与文档不同,因为它没有根元素])。

    您可能从一开始就不知道有多少表和/或行? (这就是 XML 元素流的用例。)

    ␀ 似乎是合理的,也许最后有额外的 ␀ 来标记流的结束(DOS/Windows 程序环境块)。

    ␊ 做一个空行似乎也是合理的(就像在 SMTP 中一样)。

    ␚(^Z) 是 CP/M 和 DOS 时代常见的文件终止符。

    【讨论】:

    • NUL 可能是合理的。 FS (file separator) 是另一种选择。后者的名字更有意义?古代是怎么用的?应该避免使用 XML,因为我想避免与之相关的复杂性。如果没有 XML,我可以只使用 awk 或任何其他简单工具。有了它,我将不得不使用 XML 解析器,这在许多情况下可能是多余的。此外,我可以保证在我的数据中仅使用来自控制字符的 '\a\b\t\n\v\f\r\e'。我应该可以选择一个合理的分隔符来表示流中的不同文件。
    猜你喜欢
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 2012-09-07
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多