2024年3月16日 8:03 am #31686
Yutaka Emura
キーマスター
いつもお世話になっております。江村です。
EmEditor では、null 文字はサポートしていません。ただし、エンコードとして バイナリ (アスキー表示) を指定してファイルを開く場合には、null文字を U+3100 に変換して @ の反転文字として表示しています。バイナリ (アスキー表示) 以外の場合には、既定だと警告メッセージを表示して、それでも継続する場合は、null文字をスペースに変換してから読み込んでいます。
今回のようにマクロで document.selection.Text = str とした場合、v8 の場合は、そもそも null文字のところで文字列が切れて代入されてしまいます。JScript だと null文字を含めて代入しようとしますので、v24.0.1 と v24.0.901 で修正しました。バイナリ (アスキー表示) の場合は U+3100 に変換し @ の反転文字として表示し、それ以外のエンコードでは、メッセージを表示してマクロを終了します。ただし、これは try 構文により回避可能です。
また、バイナリ (アスキー表示) の場合に null 文字を検索したい場合には、エスケープ シーケンスを使用して 0x3100 を検索すれば可能ですが、正規表現では検索できません。
よろしくお願いいたします。