#4005
匿名
ゲスト

「何のサイズ」を知りたいのかを、明確にしないと、明確な答えはないと思いますよ。
そもそもEmEditorは内部では、全てUnicodeのはずです。

様々な種類のエンコードのファイル

Unicodeへマッピングして、EmEditorメモリ上に保持。

保存時指定(通常は開いた時の自動判定エンコード)のエンコードで保存。

と言う流れですから、document.selection オブジェクトに対して操作しても、それは
Unicodeのサイズになってしまいます。
2byte文字とかの概念すらなく、一文字は全て固定サイズ(Unicode良く分かってないの
で、厳密には違うかもしれないですけど)になると思いますよ。
Ctrl+I で見る限り、16進数4桁なので内部は1文字 2byte なのかなと思いますけど、
そうすると、

alert( document.selection.Text.length * 2 );
で求められるような気もします。

また、一文字「あ」だけのUTF-8ファイル を、想定しても、Bomがある時とない時、「ファ
イルのサイズ」は変わりまし、UTF-8では、保存すると「あ」は3バイトですし。

結局、Snowさんの言うとおり、保存してみるまで分からないという事です。
ですから、マクロで、改行コード、エンコード指定して一時ファイルとして別名保存
して、マクロのActiveXでファイルのサイズを取得するとかしないと、保存した時のサイズはどうしようもないはずです。

perl だったら、外部ツールで「ファイルを保存するをオン」にして
以下のコマンド実行でバイト数出せると思いますけど。

cmd /k perl -e “print -s ‘$(Path)’;”