【发布时间】:2012-03-29 02:41:40
【问题描述】:
据我了解,\r\n 是特殊字符(对吗?)。音频文件是否有可能包含换行符?
我想要做的是将断行的字符串和完整的音频文件发送到我的套接字,我只是好奇检测换行是否会阻止我在文件中间。
【问题讨论】:
标签: string sockets special-characters line-breaks
据我了解,\r\n 是特殊字符(对吗?)。音频文件是否有可能包含换行符?
我想要做的是将断行的字符串和完整的音频文件发送到我的套接字,我只是好奇检测换行是否会阻止我在文件中间。
【问题讨论】:
标签: string sockets special-characters line-breaks
换行字节的解释仅适用于处理文本数据时。音频是二进制数据。您不应该将音频作为文本处理。
【讨论】:
音频文件可能包含任何字节或字节序列,因此尝试检测流中间的任何特定序列最终必然会失败。如果我们假设音频本质上是随机的,那么任何等于\r\n 的 2 字节序列的几率约为 1/65536。
【讨论】:
什么是“特殊字符”?除了您指定的某种相对意义外,没有这样的事情。您的音频流很可能包含值为 10 (\n) 或 13 (\r) 的字节。除了寻找换行符之外,您还需要一些方法来区分流中的文本和音频数据。
【讨论】:
换行符只是 chr(11) (或其他数字)。您的数据可能包含一个值为 11 的字节。但是,无论如何您都不应该将其转换为字符,只需将其作为一个字节读取即可。
但是,是的,注入换行符会损坏文件,但是如果您只是将其读取为被视为字节的字节流,那您就可以了。
【讨论】: