【问题标题】:size difference between email and ftp text message - EOL characters?电子邮件和 ftp 文本消息之间的大小差异 - EOL 字符?
【发布时间】:2010-09-17 18:19:52
【问题描述】:

我正在尝试通过 FTP 或电子邮件传递相同的消息,但保存的文件总是以不同的大小出现。消息的文字内容是一样的,但不可打印的字符一定要占不同的大小!

通过 FTP 传输文本文件时(以二进制模式防止 FTP 转换 EOL 字符),传递的文件大小为 7660 字节。

当我通过电子邮件传递消息(使用 smtp 发送,使用 POP3 检索)时,传递的消息大小(直接转储到新文件时)为 8043 字节。电子邮件作为纯文本电子邮件发送,并且消息包含整个电子邮件正文。 这是 383 字节的大小差异,行数是 385 行,这让我认为这两者是相关的……但尽我所能,我无法通过电子邮件收到相同的消息!

我尝试了几种在电子邮件消息数据上去除回车和换行的组合,但无济于事!

MIME 消息是否有不同的换行处理方式?

【问题讨论】:

    标签: ftp mime eol


    【解决方案1】:

    不是一个解决方案,但最好逐个字节地比较这两条消息,以确定究竟有什么区别。根据您所说,我同意这听起来像是一个行尾问题,但最好确定一下。

    另外,如果您真的使用 FTP 来传输消息(这听起来有点奇怪,但没关系),您可能需要调查在 FTP 的二进制模式与它的 ascii/文本模式之间切换对结果的差异。

    【讨论】:

    • 是的,我尝试将 FTP 代码切换为使用 ascii,但没有任何区别。很可能是因为它从 Windows 服务器转到 Windows 机器,因此 EOL 字符保持不变。我想逐字节比较它们。有什么好工具可以在 Windows 上做到这一点?
    【解决方案2】:

    在 SMTP 期间,您应该以 CR LF 结束每一行。如果您的原始电子邮件以换行符结束每一行,则在传输之后,邮件程序可能已将每个换行符转换为 CR LF,这将为每一行添加一个额外的字节。

    另一方面,这可能是巧合。您是否查看过两端的邮件程序是否添加了额外的标题行,例如 From 行?

    【讨论】:

    • 我根本没有使用电子邮件的标题,我只是在接收邮件,提取邮件正文并将其保存到文件中,因此额外的标题不是问题
    猜你喜欢
    • 2021-06-10
    • 2021-02-06
    • 2012-09-04
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多