![如何知道电子邮件中一段文本占用了多少字节?](https://linux22.com/image/1305961/%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E4%B8%AD%E4%B8%80%E6%AE%B5%E6%96%87%E6%9C%AC%E5%8D%A0%E7%94%A8%E4%BA%86%E5%A4%9A%E5%B0%91%E5%AD%97%E8%8A%82%EF%BC%9F.png)
我想要知道一封电子邮件的一部分(不是整封电子邮件)占用了多少字节的数据。我该如何找到答案?
也许像 notepad++ 这样的文本编辑器里有一些东西可以告诉我?
答案1
将邮件从电子邮件客户端拖到桌面,然后.EML
在支持不同编码并显示数据大小的文本编辑器中打开生成的文件(可能是)(例如记事本2)然后您可以简单地剪切前后的消息以查看所需块的实际大小(在 Notepad2 的状态栏中)。
答案2
Notepad++ 可以做到这一点。只需将要调整大小的消息部分复制并粘贴到新选项卡中,然后读取长度即可长度底部状态栏中的字段:
如果您将编码设置为与您的电子邮件客户端匹配(编码菜单 ->UTF-8),它将正确计算 Unicode 字符(例如,☃ 在 UTF-8 编码中长度为 3 个字节)。
这仅适用于纯文本电子邮件,不适用于 HTML 或多部分/替代电子邮件。
答案3
纯文本中的每个字符应等于 1 个字节。因此 512 个字符为 0.5KB;1024 个字符为 1KB,依此类推。例如,此示例电子邮件为 308 个字节:
Date: Thu Feb 23 2012 12:00:00 -0800
From: Bob <[email protected]>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20111105 Thunderbird/8.0
MIME-Version: 1.0
To: [email protected]
Subject: Test
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
This is a test message
编辑:澄清一下,“一个字符”指的是电子邮件消息的原始来源,而不是大多数电子邮件客户端显示的格式化表示。原始问题具体指的是纯文本和 Notepad++(其默认编码为 ANSI),因此我假设该消息将被编码为纯 ANSI。
答案4
如果您以以下方式发送电子邮件纯文本那么字节数将大致等于所选文本中的字符数。如果您将文本粘贴到 Microsoft Word 中,它将能够为您进行字母计数。
如果您以以下方式发送电子邮件富文本或者HTML那么就没有简单的公式了。一般来说,文本越长、格式越复杂,其字节数就越大。
如果你真的需要减少电子邮件的大小,请始终使用纯文本编码。