|
マクロ関数として「あった方がいいかな?」といった
単純な関数の追加要望となります。
現在、秀丸には、charset関数がありますが、
これは秀丸内での管理番号です。
一方で、MS系の(API ネイティブ、.NET WinRT)では、「コードページ番号」を添えて
ファイルでの文字コード問題は解消するのが一番間違いがありません。
(文字列指定はutf-8は良いが、utf8はダメとかブレがあって外したりしやすいので)
そこで、"個々人が対応テーブルを全く記述しなくても良いように"
・mscodepage(あるいはmscp)
のような関数を作ってはどうでしょう。
こうすることにより、秀丸で開いているファイルを「どの文字コードとしているか」を
外部プログラムへと、より簡潔かつブレがない形で伝達できます。
┌ mscodepage:sjisなら932、utf8なら65001
という値
runex コマンド + ファイル名 + mscodepage
みたいな感じで利用できます。
受け口のプログラムは、それぞれ言語やAPI事情にもよりますが、
mscp = argv[1] // 2番目の引数でエンコーディング番号を受けた
f.OpenStream( "ファイル名"、Text.GetEncoding( mscp ) )
…処理
f.SaveStream( "新ファイル名"、Text.GetEncoding( mscp ) )
みたいな感じになり、結構楽ができます。
参考URL:https://msdn.microsoft.com/ja-jp/library/aa288104(v=vs.71).aspx
以上となります。ご検討ください。
|
|