Я пытаюсь выяснить, сколько байтов данных занимает часть сообщения (не вся почта). Как я могу это выяснить?
Может быть, в текстовом редакторе есть что-то вроде блокнота ++, который мог бы сказать мне?
Я пытаюсь выяснить, сколько байтов данных занимает часть сообщения (не вся почта). Как я могу это выяснить?
Может быть, в текстовом редакторе есть что-то вроде блокнота ++, который мог бы сказать мне?
Notepad++ делает это. Просто скопируйте и вставьте часть сообщения, которое вы хотите увеличить, в новую вкладку и прочитайте длину из поля длины в строке состояния внизу:
Если вы установите кодировку, соответствующую вашему почтовому клиенту (меню Кодировка -> UTF-8), он будет правильно подсчитывать символы Юникода (например, ☃ имеет длину 3 байта в кодировке UTF-8).
Это будет применяться только к обычным текстовым электронным письмам, а не к HTML или многосоставным / альтернативным электронным письмам.
Перетащите сообщение из вашего почтового клиента на рабочий стол и откройте получившийся файл (возможно .EML
) в текстовом редакторе, который поддерживает различные кодировки и показывает размер данных (например, Notepad2). Затем вы можете просто вырезать сообщение до и после, чтобы увидеть фактический размер нужного блока (в строке состояния для Notepad2).
Каждый символ в простом тексте должен быть равен 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.
Чтобы получить правильную оценку, вы можете скопировать и вставить текст в текстовый файл, а затем прочитать полученный размер файла. Я написал скрипт 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
байтов.
Если вы отправляете электронное письмо в виде обычного текста, то количество байтов будет примерно равно количеству символов в выделенном тексте. Если вы вставите текст в Microsoft Word, он сможет подсчитать буквы, чтобы вы могли помочь.
Если вы отправляете свою электронную почту в формате Rich Text или HTML, то не существует простой формулы. В общем, чем длиннее и сложнее форматирование текста, тем больше он будет в байтах.
Если действительно важно, что вы уменьшаете размер вашей электронной почты, всегда используйте кодировку простого текста .