-1

我目前有一个应用程序,其中我将一长串 jpg 作为字符串输入。我想把这个字符串分解成单独的文件,但我找不到任何明确的方法来从 Python 中识别 EOF。我想这是一个相当普遍的问题,但我一直无法找到解决方案。该字符串应该只有大约 20-30 jpgs 长,所以它非常小,但我不确定如何在遍历字符串时识别 EOF。

我只是尝试拆分\0,但似乎这并不能完全表明这些 jpg 的 EOF。

4

1 回答 1

2

最好重组文件的发送,以便您一个接一个地接收它们,或者在字节流中的每个文件之间使用明确的分隔符。

如果这不可能,您可以使用APPO 标记和 ID。所以标记将是0xFFE0[length]0x4A465858000xFFE0[length]0x4A46494600

最佳案例:

  1. 读取流直到找到 0xFFE0;
  2. 读取两个字节长度(最大 65535×65535 像素);
  3. 通过读取接下来的 5 个字节来验证格式 - 如果不是 nul 终止的 JFIF 或 JFXX,则中断
  4. 读取该长度并处理有效载荷;
  5. 循环回到 1

但是,最好逐个处理每个文件。

于 2013-06-25T23:08:40.727 回答