最終更新日 2024-09-25

秀丸の設定に則った外部ファイルのエンコード判定 (秀丸エディタ 8.90以降)

概要

秀丸が対象の外部テキストを「これから」初めて「あなたの秀丸エディタ」で読み込んだと仮定すると、
秀丸は、対象のファイルをどのエンコードと判断するだろうか、その結果を取得する関数です。

ポイントは「初めて」と「あなたの秀丸エディタ」の設定で読み込んだ場合、ということになります。
どのPCでも同じとなる汎用的な結果が返ってくる機能ではありません。

設定は、秀丸より「その他」⇒「動作環境」⇒「ファイル」⇒「エンコード1」で主に設定されています。
この優先順位にしたがって判定され、また、チェックが付いていないエンコード値は、この関数では「取り扱わないもの」とされます。

このように、あくまでも「あなたの秀丸エディタの設定」と一致したエンコード情報が欲しい場合に、このメソッドを利用します。

秀丸でファイルのエンコードを取得する(秀丸に設定されている内容に従う)

マクロ中でもマクロ中以外でも、常時取得することが出来ます。

Hm.File.IEncoding Hm.File.GetEncoding( String filepath )

この返り値IEncoding型 には「MsCodePage」と「HmEncode」がプロパティとして存在します。
HmEncodeには、秀丸マクロの「encode」の解説書 の「encode」の項目に対応する値が格納されています(※)。
MsCodePageには、秀丸の独自のencode値を、Windows上での「コードページ」の番号へと置き換えたものです。