【问题标题】:Can an audio file contain line breaks?音频文件可以包含换行符吗?
【发布时间】:2012-03-29 02:41:40
【问题描述】:

据我了解,\r\n 是特殊字符(对吗?)。音频文件是否有可能包含换行符?

我想要做的是将断行的字符串和完整的音频文件发送到我的套接字,我只是好奇检测换行是否会阻止我在文件中间。

【问题讨论】:

    标签: string sockets special-characters line-breaks


    【解决方案1】:

    换行字节的解释仅适用于处理文本数据时。音频是二进制数据。您不应该将音频作为文本处理。

    【讨论】:

      【解决方案2】:

      音频文件可能包含任何字节或字节序列,因此尝试检测流中间的任何特定序列最终必然会失败。如果我们假设音频本质上是随机的,那么任何等于\r\n 的 2 字节序列的几率约为 1/65536。

      【讨论】:

      • 感谢您的回答。我能想到的完全避免这种情况的唯一解决方案是为文件传输打开一个额外的套接字,并保留换行字符串来来回发送命令。再次感谢。
      • @ComputerEngineer88,这是个好主意,这就是 FTP 的工作方式。
      • 是的。这就是我真正得到这个想法的地方
      【解决方案3】:

      什么是“特殊字符”?除了您指定的某种相对意义外,没有这样的事情。您的音频流很可能包含值为 10 (\n) 或 13 (\r) 的字节。除了寻找换行符之外,您还需要一些方法来区分流中的文本和音频数据。

      【讨论】:

        【解决方案4】:

        换行符只是 chr(11) (或其他数字)。您的数据可能包含一个值为 11 的字节。但是,无论如何您都不应该将其转换为字符,只需将其作为一个字节读取即可。

        但是,是的,注入换行符会损坏文件,但是如果您只是将其读取为被视为字节的字节流,那您就可以了。

        【讨论】:

          猜你喜欢
          • 2021-12-03
          • 1970-01-01
          • 1970-01-01
          • 2017-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多