7

Я пытаюсь выяснить, сколько байтов данных занимает часть сообщения (не вся почта). Как я могу это выяснить?

Может быть, в текстовом редакторе есть что-то вроде блокнота ++, который мог бы сказать мне?

5 ответов5

7

Notepad++ делает это. Просто скопируйте и вставьте часть сообщения, которое вы хотите увеличить, в новую вкладку и прочитайте длину из поля длины в строке состояния внизу:

Если вы установите кодировку, соответствующую вашему почтовому клиенту (меню Кодировка -> UTF-8), он будет правильно подсчитывать символы Юникода (например, ☃ имеет длину 3 байта в кодировке UTF-8).

Это будет применяться только к обычным текстовым электронным письмам, а не к HTML или многосоставным / альтернативным электронным письмам.

4

Перетащите сообщение из вашего почтового клиента на рабочий стол и откройте получившийся файл (возможно .EML) в текстовом редакторе, который поддерживает различные кодировки и показывает размер данных (например, Notepad2). Затем вы можете просто вырезать сообщение до и после, чтобы увидеть фактический размер нужного блока (в строке состояния для Notepad2).

3

Каждый символ в простом тексте должен быть равен 1 байту. Таким образом, 512 символов будут 0,5 КБ; 1024 символа будут 1 КБ и так далее. Например, этот пример электронной почты будет 308 байт:

Date: Thu Feb 23 2012 12:00:00 -0800
From: Bob <bob@example.com>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20111105 Thunderbird/8.0
MIME-Version: 1.0
To: sally@example.com
Subject: Test
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

This is a test message

Изменить: чтобы уточнить, "один символ" относится к необработанному источнику сообщения электронной почты, а не к форматированному представлению, отображаемому большинством почтовых клиентов. Исходный вопрос относится конкретно к простому тексту и к Notepad++ (в котором кодировкой по умолчанию является ANSI), поэтому я предположил, что сообщение будет закодировано как обычный ANSI.

2

Чтобы получить правильную оценку, вы можете скопировать и вставить текст в текстовый файл, а затем прочитать полученный размер файла. Я написал скрипт AutoHotkey, чтобы сделать его немного проще. Нажмите Win+C, чтобы небольшое всплывающее сообщение отображало размер файла выделенного текста.

#c:: ;[Win]+[C]
{
    OriginalClipboard := Clipboard
    Clipboard =
    Send, ^c
    ClipWait
    FileAppend, %Clipboard%, temp.txt
    Clipboard =
    Clipboard := OriginalClipboard
    ClipWait
    FileGetSize, fileSize, temp.txt
    MsgBox, , , Bytes: %fileSize%
    FileDelete, temp.txt
    return
}

Мета: мой ответ выше составляет около 600 байтов.

1

Если вы отправляете электронное письмо в виде обычного текста, то количество байтов будет примерно равно количеству символов в выделенном тексте. Если вы вставите текст в Microsoft Word, он сможет подсчитать буквы, чтобы вы могли помочь.

Если вы отправляете свою электронную почту в формате Rich Text или HTML, то не существует простой формулы. В общем, чем длиннее и сложнее форматирование текста, тем больше он будет в байтах.

Если действительно важно, что вы уменьшаете размер вашей электронной почты, всегда используйте кодировку простого текста .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .