it-swarm-ja.com

電子メールのテキストのブロックが何バイトを占めるかをどのように知ることができますか?

(メール全体ではなく)メールの一部が使用しているデータのバイト数を調べようとしています。どうすればこれを見つけることができますか?

多分ノートパッド++のようなテキストエディタに私に教えてくれる何かがあるのですか?

7
Mike B

メールクライアントからデスクトップにメッセージをドラッグして、結果のファイルを開きます(おそらく.EML)さまざまなエンコーディングをサポートし、データのサイズを表示するテキストエディタ(例: Notepad2 )。次に、メッセージを前後にカットするだけで、目的のブロックの実際のサイズを確認できます(Notepad2のステータスバーに表示されます)。

4
Synetech

Notepad ++はこれを行います。サイズを大きくしたいメッセージの部分をコピーして新しいタブに貼り付け、下部のステータスバーのlengthフィールドから長さを読み取ります。

電子メールクライアントに一致するようにエンコーディングを設定すると(Encodingメニュー-> TF-8)、Unicode文字が正しくカウントされます(たとえば、☃は3バイト長です) UTF-8エンコーディング)。

これはプレーンテキストの電子メールにのみ適用され、HTMLまたはマルチパート/代替の電子メールには適用されません。

enter image description here

7
Ingmar Hupp

プレーンテキストの各文字は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

編集:明確にするために、「1文字」は、ほとんどの電子メールクライアントで表示されるフォーマットされた表現ではなく、電子メールメッセージの生のソースを指します。元の質問は特にプレーンテキストとNotepad ++(デフォルトのエンコーディングとしてANSIを持っています)を参照しているため、メッセージはプレーンANSIとしてエンコードされると想定しました。

3
Andrew Lambert

適切な見積もりを取得するには、テキストをコピーして。txtファイルに貼り付け、結果のファイルサイズを読み取ることができます。 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
}

Meta:上記の私の答えは約600バイトです。

2
iglvzx

電子メールをプレーンテキストとして送信する場合、バイト数は選択したテキストの文字数とほぼ同じになります。テキストをMicrosoft Wordに貼り付けると、文字数を数えることができます。

電子メールをリッチテキストまたは[〜#〜] html [〜#〜]として送信する場合、簡単な式はありません。一般に、テキストのフォーマットが長く複雑になるほど、バイト単位で大きくなります。

メールのサイズを減らすことが本当に重要な場合は、常にプレーンテキストエンコーディングを使用してください。

1
SecurityMatt